在postgreSQL数据库之间将数据移动到不同的模式中



我在一个postgres服务器内的两个数据库中有一个相同的表。

我想知道是否可以将DB1中schemaA下的表复制到DB2中的schemaB。或者,将数据从DB1中schemaA下的表复制到DB2中等效的空schemaB。

我研究了一个发现pg_dump代码是有效的,但是在执行之前我需要将模式重命名为目标模式。。。

pg_dump -t schemaAt.table 'DB1' | psql 'DB2'

我还想知道"pg_restore"命令是否可以用于仅将数据恢复到新架构中?

如有任何帮助,将不胜感激

感谢

是的,你是对的,唯一的方法是重命名模式,因为转储总是包含源模式名称。但是这样做很容易。

./pg_dump -a -t schemaA.table -U postgres -d DB1 |sed 's/schemaA/schemaB/g'|  psql DB2 -h localhost -p 5432 -U postgres

上面的命令将把表schemaA.table数据从Db1复制到DB2中预先存在的表schemaB.table。

COPY命令将非常有用,仅用于数据。有多种选择。

如果你想避免处理命令,最好的办法是从DB1导出CSV或Text文件中的数据,并使用pgAdmin工具的classy GUI向导在Postgres中导入数据。

相关内容

  • 没有找到相关文章

最新更新