PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como instalar vários servidores PostgreSQL no RedHat Linux


Se você tem um servidor Linux da família RedHat (incluindo CentOS e Fedora), você pode invejar a forma como as distribuições Debian/Ubuntu lidam com o gerenciamento de clusters PostgreSQL.

Embora não seja fácil instalar diferentes versões do PostgreSQL no mesmo servidor RedHat Linux usando RPMs, é muito mais simples instalar várias instâncias do PostgreSQL (servidores) e, ao mesmo tempo, aproveitar a infraestrutura de serviços.



Depois de configurar a instalação do RPM, seguindo as instruções que você encontra no PostgreSQL YUM Repository, você notará que o processo criará dois arquivos entre os outros:
  • /etc/init.d/postgresql :script de inicialização para o servidor PostgreSQL
  • /etc/sysconfig/pgsql/postgresql :configuração do sistema para o serviço postgresql

Por padrão, o diretório de dados do PostgreSQL (PGDATA ) aponta para o /var/lib/pgsql/data diretório. É possível alterá-lo modificando o /etc/sysconfig/pgsql/postgresql Arquivo.

Vamos supor que queremos instalar dois servidores PostgreSQL no mesmo RedHat Linux, adicionando um segundo servidor ao padrão que será usado para fins de desenvolvimento. Chamaremos isso de postgresql-devel . Ele será instalado no /var/lib/pgsql/data-devel diretório e será executado na porta 5433.

Criamos um link simbólico para o postgresql principal script de inicialização e chame-o de postgresql-devel :

cd /etc/init.d/
ln -s postgresql postgresql-devel

Então começamos a preencher o postgresql-devel arquivo de configuração no /etc/sysconfig/pgsql diretório. É importante observar que o script de inicialização e o arquivo de configuração do sistema têm o mesmo nome .

cat < /etc/sysconfig/pgsql/postgresql-devel
PGDATA=/var/lib/pgsql/data-devel
PGPORT=5433
PGLOG=/var/lib/pgsql/pgstartup.\${PGPORT}.log
EOF

Feito isso, você pode inicializar o diretório de dados executando:/etc/init.d/postgresql-devel initdb ou simplesmente service postgresql-devel initdb .

Da mesma forma, você pode controlar a inicialização e o desligamento do serviço, executando – respectivamente:
  • service postgresql-devel start
  • service postgresql-devel stop

Você pode adicionar/remover o script da inicialização e do desligamento do sistema usando chkconfig da mesma forma que faria com outros serviços.

A wiki do PostgreSQL contém uma página detalhada sobre este tópico, e sugiro que você a leia junto com esta. No entanto, este artigo simples mostra como integrar facilmente várias instâncias do PostgreSQL no mesmo servidor Linux e gerenciá-las usando a infraestrutura de serviços padrão da RedHat (graças ao ótimo trabalho feito por Devrim Gunduz).