Não é possível alterar a porta do PostgreSQL

3

Eu executo o Postgresql 8.4 como um serviço em um servidor CentOS 6.2.

eu configurei port = 21444 e listen_addresses = '*' no arquivo /var/lib/pgsql/data/postgresql.conf

e eu mudei 5432 para 21444 em postmaster.opts e reiniciei postgres, mas quando eu corro netstat -lntp postgresql ainda está rodando na porta 5432

tcp        0      0 0.0.0.0:5432                0.0.0.0:*                   LISTEN      20276/postmaster 

Quando eu reinicio o postgresql, recebo um aviso de erro de gravação no /proc/self/oom_adj , mas o serviço é iniciado de qualquer maneira.

Eu li que poderíamos obter este erro ao usar servidores virtualizados, mas eu realmente não sei se isso tem inpact na porta de escuta postgresql.

O arquivo de configuração correto do pgsql está carregado em /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             

algum pensamento?

    
por Jerec TheSith 15.03.2012 / 12:02

3 respostas

4

Eu tenho o mesmo problema ao tentar definir o número da porta no postgresql.conf, como muitas instruções indicadas. Seu ps -ef lê:

/usr/bin/postmaster -p 5432

esta linha diz que começa em 5432.

Ele é executado pelo script de início do serviço, no meu caso (CentOS6.3 + postgresql-9.1) está aqui:

/etc/rc.d/init.d/postgresql-9.1

Existe uma linha lida:

# Override defaults from /etc/sysconfig/pgsql if file is present
[ -f /etc/sysconfig/pgsql/${NAME} ] && . /etc/sysconfig/pgsql/${NAME}

Então tudo que fiz foi ir para / etc / sysconfig / pgsql, criar um novo arquivo postgresql-9.1, adicionar uma linha lá: PGPORT = 8100. No caso acima, você deve adicionar PGDATA =. Note que o nome do arquivo deve ser o mesmo que o nome do seu serviço, se você não sabe, use

chkconfig --list | grep post* 

para descobrir.

Em seguida, reinicie o servidor:

sudo service postgresql-9.1 restart.
    
por 04.02.2013 / 20:53
3

Você está reiniciando-o usando uma ação restart ou está parando o serviço e, em seguida, iniciando novamente?

Eu tenho o Ubuntu, mas consegui o mesmo comportamento que você reiniciando, mas quando parei e depois iniciei o postgresql, ele escutou na nova porta. Então, tente pará-lo e iniciá-lo, e veja se ele começa a escutar na nova porta.

    
por 15.03.2012 / 16:10
1

em /etc/init.d/postgresql-9.3 find PGPORT = 5432 e altere para Your Desired Port Number e, em seguida, reinicie. Isso resolveu meu problema.

    
por 01.04.2014 / 07:13