如何使用psql管道命令插入postgres中的特定模式

问题描述 投票:0回答:2

我使用psql管道命令将表从一个数据库复制到Postgres中的另一个数据库。它工作正常。但是我需要将表复制到新数据库中的特定模式。我已经阅读了文档(使用-n选项指定模式名称),但它无法正常工作。

命令:

pg_dump -U postgres -h localhost -p 1212 -d dbname -t tablename -Ft | pg_restore -U postgres -h localhost -p 1213 -d dbname -n schemaname
postgresql
2个回答
0
投票

你不能用pg_dump|pg_restore序列做到这一点。你需要在恢复数据库中使用alter table t set schema s;


0
投票

我是这样做的:

pg_dump -U postgres -h localhost -p 1212 -d dbname -t tablename | sed "sed/oldschemaname/newschemaname/" |  psql -U postgres -h localhost -p 1213 -d dbname -n schemaname

用相应的正则表达式

© www.soinside.com 2019 - 2024. All rights reserved.