我可以使用.sql
一个版本生成的 pgdump 文件作为升级到另一个版本的方式吗?
例如:
如果我在 PostgreSQL 14 上创建了一个备份:
pg_dump --no-privileges --no-owner $DB_NAME > $DB_BACKUP_FILE
我可以将其加载到 PostgreSQL 15 中作为升级到 PostgreSQL 15 的有效方式吗?
sudo -u $DB_USER psql $DB_NAME < $BACKUP_FILE
有什么缺点吗?导入后是否有可能无法正常工作?
这是一种可能的升级方式。有关详细信息,请参阅文档。文档中可能不清楚的一些事情:
您必须使用具有必要权限的数据库用户执行转储和恢复(使用超级用户是执行此操作的正常方法)
如果您使用
pg_dump
而不是pg_dumpall
,备份将不包含用户和表空间定义;您可以使用单独转储这些pg_dumpall -g