Вы находитесь на странице: 1из 4

DOMINGO, 09 DE MAIO DE 2010

Instalando o Servidor PostgreSQL no Linux


Postado por Cesar Augustus Silva s 15:07 Banco de dados Linux Servidor Tutorial Video

Hoje irei mostrar como instalar o Servidor PostgreSQL para armazenar e manipular informaes contidas em um Banco de Dados no GNU/Linux.

Instalando os Pacotes
Debian/Ubuntu
root@cesar.augustus.nom.br's # apt-get install postgresql

Fedora/CentOS
root@cesar.augustus.nom.br's # yum install postgresql-server

Aps a instalao feita, crie a base de dados, inicie o servio e habilite para iniciar durante o boot:
root@cesar.augustus.nom.br's # service postgresql initdb # service postgresql start # chkconfig postgresql on

Slackware Baixe o pacote do PostgreSQL e instale: http://repository.slacky.eu/slackware(...)sql/8.4.0/postgresql-8.4.0-i486-1sl.tgz


root@cesar.augustus.nom.br's # installpkg postgresql-8.4.0-i486-1sl.tgz

Aps a instalao feita, crie a base de dados e inicie o servio:


root@cesar.augustus.nom.br's # # $ $ $ chown -R pgsql:pgsql /var/lib/pgsql su - pgsql initdb -D /var/lib/pgsql/data pg_ctl start -D /var/lib/pgsql/data -l /var/log/pgsql/serverlog exit

Abre o arquivo "/etc/rc.d/rc.pgsql", e edite-o deixando assim:


#!/bin/sh # Start/stop/restart the NTP server: PATH=/bin:/usr/local/bin:/usr/bin

DBCLUSTER=/var/lib/pgsql/data SERVERLOG=/var/log/pgsql/serverlog pgsql_start() { if [ -f $DBCLUSTER/PG_VERSION ]; then echo "Starting PostgreSQL Server" su - pgsql -c "pg_ctl start -D $DBCLUSTER -l $SERVERLOG" else echo "WARNING: You must create the PostgreSQL Database cluster before you" echo " you can start PostgreSQL or you must set the DBCLUSTER variable" echo " in /etc/rc.d/rc.pgsql properly" echo echo " DBCLUSTER is currently set to: $DBCLUSTER" fi } pgsql_stop() { su - pgsql -c "pg_ctl stop -D $DBCLUSTER -m smart" } pgsql_restart() { su - pgsql -c "pg_ctl reload -D $DBCLUSTER" } pgsql_status() { su - pgsql -c "pg_ctl status -D $DBCLUSTER" } case "$1" in 'start') pgsql_start ;; 'stop') pgsql_stop ;; 'status') pgsql_status ;; 'restart') pgsql_restart ;; *) echo "usage $0 start|stop|restart|status" esac

Atribui a permisso de execuo no "rc.pgsql" e crie os links simblicos para iniciar o servio durante o boot:
root@cesar.augustus.nom.br's # # # # # # # # chmod ln -s ln -s ln -s ln -s ln -s ln -s ln -s +x /etc/rc.d/rc.pgsql /etc/rc.d/rc.pgsql /etc/rc.d/rc0.d/K02pgsql /etc/rc.d/rc.pgsql /etc/rc.d/rc1.d/K02pgsql /etc/rc.d/rc.pgsql /etc/rc.d/rc2.d/K02pgsql /etc/rc.d/rc.pgsql /etc/rc.d/rc6.d/K02pgsql /etc/rc.d/rc.pgsql /etc/rc.d/rc3.d/S98pgsql /etc/rc.d/rc.pgsql /etc/rc.d/rc4.d/S98pgsql /etc/rc.d/rc.pgsql /etc/rc.d/rc5.d/S98pgsql

Configurando o PostgreSQL

Debian/Ubuntu e Fedora/CentOS Atribui a senha no usurio "postgres" do PostgreSQL:


root@cesar.augustus.nom.br's # su postgres -c psql ALTER USER postgres WITH PASSWORD 'senha'; \q

Slackware Atribui a senha no usurio "pgsql" do PostgreSQL:


root@cesar.augustus.nom.br's # psql postgres -U pgsql ALTER USER pgsql WITH PASSWORD 'senha'; \q

Para permitir que acesse o banco apenas informando a senha, configure no arquivo pg_hba.conf, alterando a coluna METHOD de todas linha de "ident" ou "trust" para "md5". O diretrio dos arquivos de configurao do PostgreSQL: Debian/Ubuntu: "/etc/postgresql/8.4/main/" Fedora/CentOS: "/var/lib/pgsql/data/" Slackware: "/var/lib/pgsql/data/" Feito a instalao e atribudo uma senha no usurio do PostgreSQL, voc estar apto a desenvolver o trabalho no seu computador conectando normalmente ao PostgreSQL, porm, se a idia disponibilizar o acesso ao banco para receber conexes de outras mquinas, voc vai ter que alterar dois arquivos no diretrio de configurao do PostgreSQL: postgresql.conf e pg_hba.conf No arquivo postgresql.conf, na linha listen_addresses, descomente-o removendo o "#" e troque o "localhost" por "*", deixando a linha assim:
listen_addresses = '*'

Dessa forma seu PostgreSQL vai "escutar" no s conexes provenientes da sua prpria mquina. A prxima configurao no mesmo arquivo habilitar a encriptao de passwords, para fazer isso descomente na linha password_encryption removendo o "#", ficando a linha assim:
password_encryption = on

Finalmente a prxima configurao no arquivo pg_hba.conf. Neste arquivo voc consegue restringir o acesso ao seu banco de dados por IP. Normalmente queremos liberar o acesso para todos os IPs em uma faixa, no meu exemplo, quero liberar para todas as mquinas da rede 10.5.2.0/16, ento eu adiciono a seguinte linha:
host all all 10.5.2.0 255.255.0.0 md5

Terminando a configurao, reinicie o PostgreSQL:

Debian/Ubuntu
root@cesar.augustus.nom.br's # /etc/init.d/postgresql-8.4 restart

Fedora/CentOS
root@cesar.augustus.nom.br's # service postgresql restart

Slackware
cesar@cesar.augustus.nom.br's # /etc/rc.d/rc.pgsql restart

Testando a Conexo
Debian/Ubuntu e Fedora/CentOS
cesar@cesar.augustus.nom.br's $ psql -U postgres Senha para usurio postgres: psql (8.4.4) Digite "help" para ajuda. postgres=#

Slackware
cesar@cesar.augustus.nom.br's $ psql postgres -U pgsql Password for user pgsql: psql (8.4.0) Type "help" for help. postgres=#

Pronto.

A obra Instalando o Servidor PostgreSQL no Linux de Cesar Augustus Silva foi licenciada com uma Licena Creative Commons - Atribuio - Partilha nos Mesmos Termos 3.0 No Adaptada. Permisses adicionais ao mbito desta licena podem estar disponveis em http://creativecommons.org/.

http://blog.cesar.augustus.nom.br/instalando-o-servidor-postgresql-no-linux.html

Вам также может понравиться