我通常对 SQL 转储执行以下操作:
pg_dump -U username -cOx database > dump.sql
然后使用以下命令将其还原到新数据库中:
psql -U username new_database < dump.sql
目前,这些database
表不在public
模式中,而是在为用户命名的模式中。没有理由。我认为它发生在几年前使用一个名字无法理解的实用程序从 MySQL 迁移到 PostgreSQL 时。
我想把所有东西都移到public
. 我知道我可以通过编辑dump.sql
.
导出或导入 SQL 转储时有没有办法做到这一点?
这是 PostgreSQL 13,顺便说一句。
没有直接的方法可以做到这一点。
例如,您可以将转储恢复到临时数据库中,将
public
架构放在那里,将架构重命名为public
,然后再次转储。