Tarcísio Sassara escreveu:
Olá pessoal.

Motivação:
Uma das coisas que já resolvi é não utilizar o pacote de instalação do debian para a próxima aplicação.
Minha preocupação é a de sempre manter o banco rodando sempre na ultima versão corrente.
Fiz alguns testes para a migração da minha base da versão 8.3 para a 8.4 rodando a 
versão antiga simultâneamente mudando a porta de comunicação e tudo ocorreu muito bem.

O problema:
Minha duvida é como configurar o serviço para inicializar e parar automaticamente com o SO usando o
init.d que é um dos padrões do debian para esta tarefa. Gostaria de chamar o pg_ctl start e stop no momento correto.

Tentei aprender algo com a maneira que o pacote do postgres no debian faz mas é "meio doido".

Se alguém puder me ajudar, ou tiver um material legal sobre o assunto vou agradecer bastante.
Dei uma pesquisada sobre o init.d mas de qualquer maneira, gostaria de mais informações relacionadas ao postgres.

Valeu!

--
Tarcisio F. Sassara

_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Boa noite Tarcísio.

Há algum tempo tive o mesmo problema, abaixo uma descrição rápida da solução que encontrei:


Iniciando o servidor de banco de dados PostgreSQL no boot do Debian


Script para postgres como serviço e iniciar tal serviço no boot do Debian

#!/bin/sh
# pg_script
# Controla start / stop do Postgresql

case "$1" in
start) echo -n "Iniciando servico do PostgreSQL";
/bin/su - postgres -c "/usr/local/pgsql/bin/pg_ctl start -D /usr/local/pgsql/data" > logfile 2>&1
;;
stop) echo -n "Parando serviço do PostgreSQL";
/bin/su - postgres -c "/usr/local/pgsql/bin/pg_ctl stop -D /usr/local/pgsql/data" > logfile 2>&1
;;
restart) echo -n "Reiniciando serviço PostgreSQL";
/bin/su - postgres -c "/usr/local/pgsql/bin/pg_ctl restart -D /usr/local/pgsql/data" > logfile 2>&1
;;
esac
exit 0


Link simbólico para executar o script na runlevel 2

cd /etc/rc2.d
ln -s ../init.d/pg_script S50pg_script
telinit rc2.d

Saída do comando 'netstat -tuapen'

Conexões Internet Ativas (servidores e estabelecidas)
Proto Recv-Q Send-Q Endereço Local          Endereço Remoto         Estado      User       Inode       PID/Program name
tcp        0      0 0.0.0.0:111             0.0.0.0:*               OUÇA       0          4225        1502/portmap   
tcp        0      0 0.0.0.0:34256           0.0.0.0:*               OUÇA       0          4295        1513/rpc.statd 
tcp        0      0 0.0.0.0:113             0.0.0.0:*               OUÇA       0          5377        2225/inetd     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               OUÇA       0          5008        1907/sshd      
tcp        0      0 127.0.0.1:631           0.0.0.0:*               OUÇA       0          5074        1934/cupsd     
tcp        0      0 127.0.0.1:5432          0.0.0.0:*               OUÇA       1001       6477        2380/postgres  
tcp        0      0 127.0.0.1:25            0.0.0.0:*               OUÇA       0          5274        2201/exim4     
tcp        0      0 127.0.0.1:6010          0.0.0.0:*               OUÇA       1000       8120        2721/0         
tcp        0    160 192.168.0.244:22        10.200.110.54:50489     ESTABELECIDA 0          8082        2717/sshd: leandro
tcp6       0      0 :::22                   :::*                    OUÇA       0          5006        1907/sshd      
tcp6       0      0 ::1:631                 :::*                    OUÇA       0          5075        1934/cupsd     
tcp6       0      0 ::1:5432                :::*                    OUÇA       1001       6478        2380/postgres  
tcp6       0      0 ::1:6010                :::*                    OUÇA       1000       8121        2721/0         
udp        0      0 0.0.0.0:68              0.0.0.0:*                           0          6116        2336/dhclient  
udp        0      0 0.0.0.0:50629           0.0.0.0:*                           105        4979        1895/avahi-daemon:
udp        0      0 0.0.0.0:841             0.0.0.0:*                           0          4281        1513/rpc.statd 
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           105        4977        1895/avahi-daemon:
udp        0      0 0.0.0.0:58734           0.0.0.0:*                           0          4292        1513/rpc.statd 
udp        0      0 0.0.0.0:111             0.0.0.0:*                           0          4224        1502/portmap   
udp        0      0 127.0.0.1:46832         127.0.0.1:46832         ESTABELECIDA 1001       6485        2380/postgres  
udp        0      0 0.0.0.0:631             0.0.0.0:*                           0          5078        1934/cupsd     
udp6       0      0 :::35555                :::*                                105        4980        1895/avahi-daemon:
udp6       0      0 :::5353                 :::*                                105        4978        1895/avahi-daemon:

Dando um olhada no pacote para instalação do PostgreSQL 8.3.5 acabei descobrindo que existem alguns scripts de inicialização distribuídos junto do PostgreSQL (creio que este serviço esta disponível a partir de versões mais atuais do servidor) no diretório contrib/start-scripts. Para instalar estes scripts é necessário o privilégio de root.

Fonte:

PostgreSQL - Tradução da Documentação para o Português do Brasil.
http://pgdocptbr.sourceforge.net/



Espero ter ajudado.


-- 

Leandro Hamid
SERPRO - Serviço Federal de Processamento de Dados
Maito: [email protected]
Maito: [email protected]
Skype: leandro_hamid
http://www.serpro.gov.br
Weblog: http://sysaprendiz.wordpress.com/
GNU/Linux User #485051
--> The blue screen of the death <--
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a