Instalando o Servidor PostgreSQL no Linux

Embed Size (px)

Citation preview

  • 8/3/2019 Instalando o Servidor PostgreSQL no Linux

    1/4

    DOMINGO, 09 DE MAIO DE 2010

    Instalando o Servidor PostgreSQL no LinuxPostado 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

    [email protected]'s

    # apt-get install postgresql

    Fedora/CentOS

    [email protected]'s

    # yum install postgresql-server

    Aps a instalao feita, crie a base de dados, inicie o servio e habilite para iniciardurante o boot:

    [email protected]'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

    [email protected]'s

    # installpkg postgresql-8.4.0-i486-1sl.tgz

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

    [email protected]'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

  • 8/3/2019 Instalando o Servidor PostgreSQL no Linux

    2/4

    DBCLUSTER=/var/lib/pgsql/dataSERVERLOG=/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"

    elseecho "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"echoecho " 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 oservio durante o boot:

    [email protected]'s

    # chmod +x /etc/rc.d/rc.pgsql# ln -s /etc/rc.d/rc.pgsql /etc/rc.d/rc0.d/K02pgsql# ln -s /etc/rc.d/rc.pgsql /etc/rc.d/rc1.d/K02pgsql# ln -s /etc/rc.d/rc.pgsql /etc/rc.d/rc2.d/K02pgsql# ln -s /etc/rc.d/rc.pgsql /etc/rc.d/rc6.d/K02pgsql# ln -s /etc/rc.d/rc.pgsql /etc/rc.d/rc3.d/S98pgsql

    # ln -s /etc/rc.d/rc.pgsql /etc/rc.d/rc4.d/S98pgsql# ln -s /etc/rc.d/rc.pgsql /etc/rc.d/rc5.d/S98pgsql

    Configurando o PostgreSQL

  • 8/3/2019 Instalando o Servidor PostgreSQL no Linux

    3/4

    Debian/Ubuntu e Fedora/CentOS

    Atribui a senha no usurio "postgres" do PostgreSQL:

    [email protected]'s

    # su postgres -c psqlALTER USER postgres WITH PASSWORD 'senha';

    \q

    Slackware

    Atribui a senha no usurio "pgsql" do PostgreSQL:

    [email protected]'s

    # psql postgres -U pgsqlALTER USER pgsql WITH PASSWORD 'senha';\q

    Para permitir que acesse o banco apenas informando a senha, configure no arquivopg_hba.conf, alterando a coluna METHODde 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 outrasmquinas, voc vai ter que alterar dois arquivos no diretrio de configurao doPostgreSQL: postgresql.confe pg_hba.conf

    No arquivo postgresql.conf, na linha listen_addresses, descomente-o removendo o "#" etroque o "localhost" por "*", deixando a linha assim:

    listen_addresses = '*'

    Dessa forma seu PostgreSQL vai "escutar" no s conexes provenientes da sua prpriamquina.

    A prxima configurao no mesmo arquivo habilitar a encriptao de passwords, parafazer isso descomente na linha password_encryption removendo o "#", ficando a linhaassim:

    password_encryption = on

    Finalmente a prxima configurao no arquivo pg_hba.conf. Neste arquivo voc conseguerestringir o acesso ao seu banco de dados por IP. Normalmente queremos liberar o acessopara todos os IPs em uma faixa, no meu exemplo, quero liberar para todas as mquinas darede 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:

  • 8/3/2019 Instalando o Servidor PostgreSQL no Linux

    4/4

    Debian/Ubuntu

    [email protected]'s

    # /etc/init.d/postgresql-8.4 restart

    Fedora/CentOS

    [email protected]'s

    # service postgresql restart

    Slackware

    [email protected]'s

    # /etc/rc.d/rc.pgsql restart

    Testando a ConexoDebian/Ubuntu e Fedora/CentOS

    [email protected]'s

    $ psql -U postgresSenha para usurio postgres:psql (8.4.4)Digite "help" para ajuda.

    postgres=#

    Slackware

    [email protected]'s

    $ psql postgres -U pgsqlPassword 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