gpt4 book ai didi

database - 在 RedHat 中从 postgresql 9.2 升级到 9.6 时出现错误 unix_socket_directory

转载 作者:行者123 更新时间:2023-11-29 13:45:27 24 4
gpt4 key购买 nike

为了将我的 postgresql 服务器从 9.2 升级到 9.6,我已经苦苦挣扎了几个小时。这是我所做的:

以 postgres 运行:

/usr/pgsql-9.6/bin/pg_upgrade --old-bindir=/usr/bin/ --new-bindir=/usr/pgsql-9.6/bin/ --old-datadir=/var/lib/pgsql/data/ --new-datadir=/var/lib/pgsql/9.6/data/ --check

得到输出:

Performing Consistency Checks on Old Live Server
-------------------------------------------------
Checking cluster versions ok
Checking database user is the install user ok
Checking database connection settings ok
Checking for prepared transactions ok
Checking for reg* system OID user data types ok
Checking for contrib/isn with bigint-passing mismatch ok
Checking for roles starting with 'pg_' ok
Checking for invalid "line" user columns ok
Checking for presence of required libraries ok
Checking database user is the install user ok
Checking for prepared transactions ok

*Clusters are compatible*

好的,一切顺利,我们开始吧,让我们尝试升级。

首先,按照 root 身份运行,如 here 所述:

service postgresql stop

然后,升级命令(作为 postgres 用户):

/usr/pgsql-9.6/bin/pg_upgrade --old-bindir=/usr/bin/ --new-bindir=/usr/pgsql-9.6/bin/ --old-datadir=/var/lib/pgsql/data/ --new-datadir=/var/lib/pgsql/9.6/data/

/var/lib/pgsql/data/pg_upgrade_server.log 文件中得到错误输出:

271 -----------------------------------------------------------------
272 pg_upgrade run on Fri Mar 2 15:44:09 2018
273 -----------------------------------------------------------------
274
275 command: "/usr/bin/pg_ctl" -w -l "pg_upgrade_server.log" -D "/var/lib/pgsql/data/" -o "-p 50432 -b -c listen_addresses='' -c unix_socket_permissions=0700 -c unix_s ocket_directory='/var/lib/pgsql/data'" start >> "pg_upgrade_server.log" 2>&1
276 waiting for server to start....FATAL: unrecognized configuration parameter "unix_socket_directory"
277 stopped waiting
278 pg_ctl: could not start server
279 Examine the log output.

如何完成这项工作?

有人吗?

最佳答案

您必须已将 postgresql.conf 从 92. 集群复制到 9.6 集群。这行不通,因为某些参数已更改。

例如,9.2 中的 unix_socket_directory 在 9.3 中变成了 unix_socket_directories;现在您可以拥有多个。

您应该使用默认的 9.6 postgresql.conf 并手动编辑它以匹配您的 9.2 配置。一些参数发生了根本性的变化,例如 checkpoint_segments,它已被替换为 max_wal_size

关于database - 在 RedHat 中从 postgresql 9.2 升级到 9.6 时出现错误 unix_socket_directory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49075414/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com