我在服务器上使用 PostgreSQL(版本 9.3),并且希望使用生产实例数据库中的数据更新暂存实例数据库中的数据。每个数据库都由不同的角色控制,我想在传输中保持它们的权限分开。
我尝试按照文档操作并使用单独的用户(有权访问相应的 PostgreSQL 角色)运行这些命令:
staging-user: pg_dump production_db > prod_db_file
production-user: psql --single-transaction staging_db < prod_db_file
Run Code Online (Sandbox Code Playgroud)
但我有几个错误:must be owner of extension plpgsql
和syntax error at or near
。此外,我不确定这是否能达到我想要的效果。pg_dump 和 psql 命令有很多可选标志,我不知道应该使用哪些。(我已经尝试了多种标志组合,但到目前为止没有任何效果。)
注意:当我尝试上述命令时,我的临时数据库已经存在。
如何将生产数据移至暂存数据库?