Salve salve, galera nuclear!!!
Hoje irei mostrar como instalar o Servidor PostgreSQL para armazenar e manipular informações contidas em um Banco de Dados no GNU/Linux.
Instalando os Pacotes
- Debian/Ubuntu
# apt-get install postgresql- Fedora/CentOS
# yum install postgresql-serverApós a instalação feita, crie a base de dados, inicie o serviço e habilite para iniciar durante o boot:
# service postgresql initdb
# service postgresql start
# chkconfig postgresql on- Slackware
Baixe o pacote do PostgreSQL e instale:
http://repository.slacky.eu/slackware-12.2/database/postgresql/8.4.0/postgresql-8.4.0-i486-1sl.tgz
Após a instalação feita, crie a base de dados e inicie o serviço:
Abre o arquivo "/etc/rc.d/rc.pgsql", e edite-o deixando assim:
Atribui a permissão de execução no "rc.pgsql" e crie os links simbólicos para iniciar o serviço durante o boot:
http://repository.slacky.eu/slackware-12.2/database/postgresql/8.4.0/postgresql-8.4.0-i486-1sl.tgz
# installpkg postgresql-8.4.0-i486-1sl.tgzApós a instalação feita, crie a base de dados e inicie o serviço:
# 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
$ exitAbre 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 permissão de execução no "rc.pgsql" e crie os links simbólicos para iniciar o serviço durante o boot:
# 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/S98pgsqlConfigurando o PostgreSQL
- Debian/Ubuntu e Fedora/CentOS
Atribui a senha no usuário "postgres" do PostgreSQL:
# su postgres -c psql
ALTER USER postgres WITH PASSWORD 'senha';
\q- Slackware
Atribui a senha no usuário "pgsql" do PostgreSQL:
# psql postgres -U pgsql
ALTER USER pgsql WITH PASSWORD 'senha';
\qPara 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 diretório dos arquivos de configuração do PostgreSQL:
- Debian/Ubuntu: "/etc/postgresql/8.4/main/"
- Fedora/CentOS: "/var/lib/pgsql/data/"
- Slackware: "/var/lib/pgsql/data/"
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" não só conexões provenientes da sua própria máquina.
A próxima configuração no mesmo arquivo é habilitar a encriptação de passwords, para fazer isso descomente na linha password_encryption removendo o "#", ficando a linha assim:
password_encryption = on
Finalmente a próxima configuração 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 máquinas da rede 10.5.2.0/16, então eu adiciono a seguinte linha:
host all all 10.5.2.0 255.255.0.0 md5
Terminando a configuração, reinicie o PostgreSQL:
- Debian/Ubuntu
# /etc/init.d/postgresql-8.4 restart- Fedora/CentOS
# service postgresql restart- Slackware
# /etc/rc.d/rc.pgsql restartTestando a Conexão
- Debian/Ubuntu e Fedora/CentOS
$ psql -U postgres
Senha para usuário postgres:
psql (8.4.4)
Digite "help" para ajuda.
postgres=#- Slackware
$ psql postgres -U pgsql
Password for user pgsql:
psql (8.4.0)
Type "help" for help.
postgres=#Pronto.
| < Anterior | Próximo > |
|---|







