ako*_*ako 3 postgresql migration postgresql-9.1 postgresql-9.3
我正在运行带有 postgres/postgis 设置的 Ubuntu 14.04,并在一个微弱的时刻删除了 PostgreSQL 9.1(在我升级到 14.04 之前似乎是从 12.04 安装的遗留安装),错误地说服自己我当前的 postgis 设置仅依赖于 9.3。
事实并非如此,更糟糕的是,我在实例运行时将其删除,因此我前往存储库恢复 9.1。
Ubuntu 的存储库没有 14.04 的 PostgreSQL 9.1,所以我从源代码编译,这样我就可以运行 pg_dump 或 pg_upgrade,这需要两者的二进制文件。
但是我当时的问题是,仅仅因为我现在又有了 9.1 的工作版本,这并没有使我的数据库从早期可见。
因此,据我所知,我的数据库文件完好无损,但我需要将它们与我今天安装的新 9.1 服务“挂钩”。我希望它是微不足道的,但它让我难住了几个小时。关于从哪里开始更新配置的任何指示?
@a_horse_with_no_name 是对的。因为您是从源代码编译 PostgreSQL,所以pg_wrapper像pg_ctlcluster和一样提供的常用工具pg_lsclusters不可用。因此,Ubuntu 上的 PostgreSQL 初始化脚本不会启动您的 PostgreSQL 9.1 DB。
您可以将自定义二进制文件连接到pg_wrapper,但一次性的麻烦是不值得的。
假设您的 9.1 数据目录仍归用户所有postgres并位于默认位置:
sudo -u postgres -iPGPORT=5440 PATH=/path/to/your/9.1_install/bin pg_ctl -D /path/to/your/9.1/dbPGPORT=5440 /path/to/9.3/bin/pg_dump -Fc -f mydb.pgdump mydbPGPORT=5440 /path/to/9.3/bin/pg_dumpall --globals-only > my_91_globals.sql然后my_91_globals.sql针对您的 9.3 服务器运行,或检查它并进行任何所需的更改。
然后,pg_restore将mydb.pgdump使用pg_restore9.3。
如果您使用 9.1 数据目录的恢复备份副本工作,则可能需要调整此项,因为其权限可能不是postgres用户的权限。哪个用户拥有它并不重要,但是pg_hba.conf如果您使用peer身份验证并以其他用户身份连接,则可能需要进行调整。
| 归档时间: |
|
| 查看次数: |
211 次 |
| 最近记录: |