Instalando, Configurando e Iniciando o PostgreSQL
Atenção: Esse documento aborda a instalação do PostgreSQL pelo código-fonte, o que pode não ser necessário caso sua distribuição tenha o mesmo em formato de pacote RPM ou DEB. No meu caso, pacote RPM do PostgreSQL 7.3 existia apenas para o Red Hat 9.0, daí a necessidade de compilar o programa para que não fosse necessário a atualização do servidor.
Compilando

Baixe o cógido-fonte em algum mirror localizado em http://www.postgresql.org/mirrors-ftp.html

$ ./configure
$ gmake
$ su
(senha de root)
# gmake install

Lembrando que para compilar algum programa com êxito é necessário que os compiladores junto com suas bibliotecas estejam instalados em seu sistema. Isso é feito facilmente marcando a opção de Desenvolvimento durante a instalação de qualquer distribuição do Linux.

Configurando

Depois de compilado, siga esses passos:

$ su -
(senha de root)
# adduser postgres
# echo "PATH=/usr/local/pgsql/bin:$PATH" >> /home/postgres/.bashrc
# echo "export PATH" >> /home/postgres/.bashrc
# mkdir /usr/local/pgsql/data
# chown postgres /usr/local/pgsql/data
# su - postgres
Iniciando
initdb -D /usr/local/pgsql/data
postmaster -D /usr/local/pgsql/data >logfile 2>&1 &
Testando
createdb test
psql test

Seu PostgreSQL já deve estar funcionando se chegou até aqui. Agora vamos aos ajustes finais.

Liberando acesso a conexões da rede

Edite seu arquivo /usr/local/pgsql/data/pg_hba.conf. O mesmo é bem comentado, você pode personaliza-lo como quiser.

Aqui na empresa, o banco de dados é configurado sem senha por default, conforme o exemplo abaixo:

$ cat /usr/local/pgsql/data/pg_hba.conf
local all all trust
host all all 127.0.0.1 0.0.0.0 trust
host all all 192.168.0.0 255.255.0.0 trust

Por razões de segurança, alguns usuários preferem que os clientes conectem ao banco utilizando uma senha. O seguinte setup, sugerido por Paulo Scardine, permite que um usuário conecte sem senha quando estiver logado no servidor mas exige senha para conexões via rede (para isso o servidor identd deve estar rodando na máquina):

root:~# vi /var/lib/postgres/pg_hba.conf 
local all all trust 
host all all 127.0.0.1 255.0.0.0 trust
root:~# createuser --username postgres --adduser --createdb --pwprompt
root:~# createuser --username postgres --noadduser --nocreatedb --pwprompt dbuser 
root:~# vi /var/lib/postgres/pg_hba.conf
local all all ident sameuser
host all all 127.0.0.1 255.0.0.0 ident sameuser
host all all 192.168.1.0 255.255.255.0 md5
Script para iniciar/ parar/ status do PostgreSQL
# service postgresql start
# service postgresql status
# service postgresql stop

E poderá utilizar também o '# ntsysv' para iniciar o PostgreSQL durante o boot.

Backup e Restauração
# cat pgsql.backup
su -l postgres -s /bin/sh -c "/usr/local/pgsql/bin/pg_dump -h localhost base_de_dados > /dados/log/backup.sql"
# cat pgsql.restore
su -l postgres -s /bin/sh -c "/usr/local/pgsql/bin/psql -d base_de_dados -f /dados/log/backup.sql"

Caso você esteja migrando de um Windows, utilize esse comando para fazer um backup da base de dados:

pg_dump -u postgres -d base_de_dados (caminho)\dados.sql

E depois restaure-o no GNU/Linux.

Copyleft (c) 2003 por Tiago da Cruz Bezerra Esse texto é licenciado sob a licença GNU FDL http://www.linuxrapido.linuxdicas.com.br

[voltar]