如何将数据从一个数据库移动到另一个数据库

时间:2019-06-16 22:42:17

标签: postgresql copy

我想在postgres中将数据从表A数据库A复制到表b数据库b。

我能够使用复制将数据从数据库A中的表A写出到文件中 但是当我尝试复制到数据库b表B中时,它显示“错误:必须是超级用户才能与文件进行复制”

请帮忙,让我知道如何将平面文件中的数据存储到数据库的表中。...数据库是postgres 9.x

1 个答案:

答案 0 :(得分:0)

根据documentation

  

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及其用法。