【发布时间】:2019-04-30 12:50:42
【问题描述】:
我有两个具有相同结构和表的 postgres 数据库,托管在同一台服务器上,数据库由不同的用户拥有:
database1:owner1
database2:owner2
我想知道将 database1 的内容复制到 database2 的最佳方法(覆盖 database2 的原始内容)。
我尝试了 pg_dump 和 pg_restore 但转储将明确指定 owner1 作为表的所有者,然后我在尝试时遇到权限问题使用 owner2 从 database2 获取数据。我不得不手动将 database2 上的所有权限重新授予 owner2,并将所有表的所有者再次设置为 owner2。
我的做法:
pg_dump database1 > database1.psql
postgres=# drop database database2;
postgres=# create database database2;
psql --d database2 -f database1.psql
有没有更简单的方法可以将数据从 database1 复制到 database2,而无需在还原后手动更新用户权限。
【问题讨论】:
标签: postgresql