我对 PostgreSQL 很陌生,但我的任务是进行升级。当前系统在 CentOS 5.11 上运行,是 Postgres 8.1.23,默认编码为 latin1。新服务器是 OpenSuSE 42.1 和 Postgres 9.4.9,默认编码为 utf8。
我一直在尝试使用 pg_dumpall 命令来让用户及其角色与数据库/表/数据一起移动。但是,由于编码不同,我无法恢复到新服务器。
我看到 pg_dump 命令有 -E 选项来指定编码,但它似乎没有给我一种获取用户和角色的方法。-E 选项甚至可以完成我所需要的——从 latin1 到 utf8 的转换吗?
我迁移/升级用户、角色、数据等并同时从 latin1 转换为 utf8 的最佳方式是什么?
谢谢!
以下是您应该执行的步骤:
在这里您可以找到 8.1 中 pg_dump 和 pg_dumpall 的文档: https://www.postgresql.org/docs/8.1/static/app-pgdump.html https://www.postgresql.org/docs/8.1/static/app -pg-dumpall.html
在这里您可以找到 9.4 中 pg_restore 和 psql 的文档(您的恢复工具取决于您的转储选项): https ://www.postgresql.org/docs/9.4/static/app-pgrestore.html https://www。 postgresql.org/docs/9.4/static/app-psql.html
这里是关于 PostgreSQL 中数据库编码的通用文档: https ://www.postgresql.org/docs/9.4/static/multibyte.html
祝你今天过得愉快!
阿赫纳