postgresql - 如何将 pg_dump 的输出恢复为新的表名

标签 postgresql pg-restore

我正在像这样转储一个大的 Postgres 表:

pg_dump -h myserver  -U mt_user --table=mytable  -Fc -Z 9 --file mytable.dump mydb

上面创建了一个 mytable.dump 文件。我现在想将这个转储恢复到一个名为 mytable_restored 的新表中。

如何使用 pg_restore 命令来执行此操作?

最佳答案

没有用于重命名表的 pg_restore 选项。

我会这样做:

-- create a table that is defined like the original
CREATE TABLE mytable_restored (LIKE mytable INCLUDING ALL);

-- copy the table contents
COPY mytable TO '/tmp/mytable.dmp';
COPY mytable_restored FROM '/tmp/mytable.dmp';

关于postgresql - 如何将 pg_dump 的输出恢复为新的表名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56227653/

相关文章:

postgresql - postgresql 存储过程可以在单独的数据库上运行吗?

database - 从 Postgres sql 文件恢复

postgresql - 重新安装操作系统后不使用 pg_dump 恢复 Postgres 数据库?

linux - 无法在远程 Linux VM 上 pg_restore SQL 文件

postgresql - SQLAlchemy 和 postgres 反射 : erroneously reflecting all schemas

sql - 使用评论在 postgresql 中创建 View

php - 按另一列排序后选择 id 后的记录

ruby-on-rails - 如何排序不区分大小写的关联列

postgresql - 如何解决 Postgresql 8.4 错误 'language “plpgsql” 已经存在'?

postgresql - pg_dump 和 pg_restore : "Error Segmentation fault (core dumped)" when altering table of contents