我想在postgres中将数据从表A数据库A复制到表b数据库b。
我能够使用复制将数据从数据库A中的表A写出到文件中 但是当我尝试复制到数据库b表B中时,它显示“错误:必须是超级用户才能与文件进行复制”
请帮忙,让我知道如何将平面文件中的数据存储到数据库的表中。...数据库是postgres 9.x
答案 0 :(得分:0)
COPY 命名文件或命令仅允许数据库超级用户或被授予默认角色 pg_read_server_files,pg_write_server_files 之一的用户使用,或pg_execute_server_program,因为它允许读取或写入任何文件或运行服务器有权访问的程序。
但是,您可以使用pipeline将数据从一个数据库传输到另一个数据库,而无需使用中间文件:
psql -d A -c "copy a to stdout" | psql -d B -c "copy b from stdin"
详细了解psql utility及其用法。