我在CentOS 6.2服务器上运行
Postgresql 8.4作为服务.
我设置
/var/lib/pgsql/data/postgresql.conf文件中的port = 21444和listen_addresses =’*’
我在postmaster.opts中将5432更改为21444并重新启动了postgres,但是当我运行netstat -lntp时
postgresql仍然在端口5432上运行
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN 20276/postmaster
当我重新启动postgresql时,我在/ proc / self / oom_adj上收到了写错误警告,但服务仍在启动.
我读到在使用虚拟化服务器时我们可能会遇到此错误,但我真的不知道这是否在postgresql监听端口上有影响.
正确的pgsql配置文件加载到/ var / lib / pgsql / data中:
[root@srv02 ~]# ps -ef | grep postgres root 1358 22140 0 09:42 pts/0 00:00:00 grep postgres postgres 9519 1 0 Mar16 ? 00:00:01 /usr/bin/postmaster -p 5432 -D /var/lib/pgsql/data postgres 9573 9519 0 Mar16 ? 00:00:00 postgres: logger process postgres 9575 9519 0 Mar16 ? 00:00:05 postgres: writer process postgres 9576 9519 0 Mar16 ? 00:00:03 postgres: wal writer process postgres 9577 9519 0 Mar16 ? 00:00:01 postgres: autovacuum launcher process postgres 9578 9519 0 Mar16 ? 00:00:01 postgres: stats collector process
任何想法?
尝试在postgresql.conf中设置端口号时遇到同样的问题,正如许多指示所示.你的ps -ef读到:
/usr/bin/postmaster -p 5432
这一行告诉它从5432开始.
它由服务启动脚本运行,在我的情况下(CentOS6.3 postgresql-9.1)它在这里:
/etc/rc.d/init.d/postgresql-9.1
有一行读:
# Override defaults from /etc/sysconfig/pgsql if file is present [ -f /etc/sysconfig/pgsql/${NAME} ] && . /etc/sysconfig/pgsql/${NAME}
所以我所做的就是去/ etc / sysconfig / pgsql,创建一个新文件postgresql-9.1,在那里添加一行:PGPORT = 8100.在上面的例子中,你应该添加PGDATA =.请注意,文件名应与您的服务名称相同,如果您不知道,请使用
chkconfig --list | grep post*
找出来.
然后重启服务器:
sudo service postgresql-9.1 restart.