我已经使用PostgreSQL 16或17年了(大约是7.2版或7.3版)。不管出于什么原因,我开始使用PG从源代码安装它。由于惯性/对变化的恐惧,至今我还没有通过发行版的存储库直接安装PG。
我想要改变它-不是本地发行版的PG版本,而是postgres提供的存储库,这样我就可以安装最新版本了。我正在运行的服务器是Debian 9/拉伸。
我当然会翻阅这些文档,但我欢迎对以下几个方面的评论:
initdb或pg_ctl。这些有直接的替代品吗?pg_wrapper,根据man页面,“它为用户确定配置的集群和数据库,并调用所需程序的适当版本来连接到该集群和数据库”。这让我毛骨悚然。不应该吗?SQL_ASCII编码和C语言环境。(最初安装自源代码,遵循“短版本”安装过程)。如何迁移到运行Debian 9的新鲜/开箱即用服务器上的新PG 11安装?这就是我通常做的事情:[postgres]$ pg_dumpall > dumpall.sql并将备份复制到新机器。/usr/local/pgsql/bin/initdb -D /home/postgres/data -E SQL_ASCII --locale=C (对于我们正在讨论的遗留应用程序,我不能改变这一点)。[postgres]$ psql -f dumpall.sql当迁移到基于存储库的安装时,会有什么不同或意外吗?
unattended-upgrades有好处吗?pgcrypto;我通常要做的是,在运行psql恢复之前,先转到下载的源dir,cd contrib/pgcrypto→make→sudo make install (可能也是postgres的重新启动?)。然后,dumpall.sql包含导入pgcrypto功能和创建必要函数的所有内容。还有其他值得注意的地方吗?
发布于 2019-03-30 22:03:17
我已经使用Debian PostgreSQL软件包几年了,我没有任何问题,我可以推荐这个版本的安装。
以及你的问题的答案:
initdb和pg_ctl在/usr/lib/postgres/ver.sion/bin下。pg_upgradecluster,它可以使PostgreSQL从旧版本自动升级到新版本。运行此命令后,您将在端口5432 (默认PostgreSQL端口)上拥有Po stgreSQL的新版本(在本例中为11.0),而端口5433将是PostgreSQL的旧版本(在本例中为versin 10.0)。您可以测试它,如果每个人都认为可以,您可以放弃旧卡斯特和卸载旧版本的PostgreSQL。我对这个过程有很好的经验,我可以推荐它。我的升级过程是:pg_lscluster将向您列出正在使用的集群。pg_dropcluster --stop 11.0 main (Debian将为新版本的PostgreSQL创建一个新集群,但如果我使用pg_upgradecluster,它将为我创建一个新集群.)pg_upgradecluster 10.0 main 11.0 (它将将我的旧集群升级为新版本的PostgreSQL,并将更改旧版本和新版本的端口:在调用此命令之前,旧版本将位于端口5432,新版本将位于端口5433,调用此命令后,新版本将位于端口5432,端口5433上将是PostgreSQL的旧版本)。unattended-upgrades一点问题都没有。pgcrypto模块,但是您可以使用这个过程(我希望它可以在11版中使用):Ubuntu下PostgreSQL8.4中pgcrypto模块的安装https://serverfault.com/questions/960774
复制相似问题