Pular para o conteúdo

Instalando e configurando o PostgreSQL

Neste tutorial ensinarei como instalar e configurar de maneira simples o PostgreSQL. A instalação será feita a partir do código-fonte, sem levar em conta o pacote que pode ser distribuído pelo repositório de seu Linux.
Eduardo duduzinhu
Hits: 57.559 Categoria: Linux Subcategoria: Configuração
  • Indicar
  • Impressora
  • Denunciar

Parte 2: Instalando e configurando o PostgreSQL

Lembrando que se trata de uma configuração básica, porém funcional.

Antes da mais nada precisamos baixar o postgresql-8.1.9, podemos encontrá-lo em:
Escolha o postgresql-8.1.9.tar.bz2. Em seguida selecione o "mirror" de onde você quer baixar. Se o mirror escolhido não funcionar, selecione outro.

Caso tenha baixado na área de trabalho e não sabe como chegar até lá, digite:

# cd /home/usuário/Desktop/

Troque a palavra "usuário" pelo nome de seu usuário.

Agora precisamos descompactá-lo:

Para descompactar digite no diretório onde você o baixou:

# tar -jxvf postgresql-8.1.9.tar.bz2

Entre na pasta do PostgreSQL.

Para entrar digite:

# cd postgresql-8.1.9

Agora vamos compilar e instalar o PostgreSQL.

Digite:

# ./configure --prefix=/usr/local/pgsql

Depois digite:

# make

E por último digite:

# make install

Pronto, o PostgreSQL está instalado, vamos agora para a parte de configuração, que é um pouco mais chata. =)

Precisamos criar um usuário para o PostgreSQL, digite:

# useradd postgres

Agora precisamos criar uma senha para este usuário, digite:

# passwd postgres

Digite uma senha e pressione "Enter", depois repita a senha.

Se você digitou a senha corretamente aparecerá um frase parecida com essa:

passwd: all authentication tokens updated successfully.

Agora vamos criar o diretório onde ficará os bancos de dados criados, digite:

# mkdir /usr/local/pgsql/data

Precisamos agora alterar o "dono" da pasta "data", digite:

# chown postgres /usr/local/pgsql/data

Pronto!

Agora vamos entrar com o usuário "postgres" que criamos para o PostgreSQL, digite:

# su - postgres

E depois digite a senha que você criou para este usuário.

Agora vamos inicializar o PostgreSQL, digite:

$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data

Se tudo ocorrer bem, o PostgreSQL vai mostrar na tela dois comandos para iniciar o "postmaster", não inicie ainda, vou explicar mais ou menos a diferença entre os dois comandos:

O comando "/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data" faz com que o postmaster seja iniciado, mas esta janela vai ficar emitindo os logs do PostgreSQL, ou seja, as seguintes linhas irão aparecer na tela:

LOG: database system was shut down at 2007-08-10 10:16:21 BRT
LOG: checkpoint record is at 0/8C5104[/td][/tr][/table]
LOG: redo record is at 0/8C5104; undo record is at 0/0; shutdown TRUE
LOG: next transaction ID: 22896; next OID: 27828
LOG: next MultiXactId: 1; next MultiXactOffset: 0
LOG: database system is ready
LOG: transaction ID wrap limit is 2147484146, limited by database "postgres"

E esta janela ficará em uso mostrando os logs.

E o outro comando faz com que o postmaster se inicie, mas esta janela não fica em uso e os logs são armazenados em um arquivo.

A primeira opção é boa para você ficar monitorando os logs em tempo real.

Agora precisamos adicionar algumas linhas no arquivo "profile", que fica no diretório /etc e para isso precisamos das permissões de "root" novamente.

Para virar root digite:

$ su -

Depois digite a sua senha e pressione "Enter".

Agora para editar o arquivo /etc/profile digite:

# vim /etc/profile

E insira as seguintes linhas no conteúdo do arquivo sem alterar as demais:

PATH=$PATH:/usr/local/pgsql/bin
MANPATH=$MANPATH:/usr/local/pgsql/man
export PATH MANPATH

Agora entre novamente no diretório do PostgreSQL, digite:

# cd /home/usuario/Desktop/postgresql-8.1.9

Troque "usuário" pelo nome do seu usuário.

Agora precisamos entrar no diretório contrib/start-scripts/.

Digite:

# cd contrib/start-scripts/

Agora digite:

# cp linux /usr/local/pgsql/rc.postgresql

Depois digite:

# chmod a+x /usr/local/pgsql/rc.postgresql

Pronto!

Para criar outro banco de dados caso você queira digite:

# /usr/local/pgsql/bin/createdb "nome do banco de dados"

Troque o "nome do banco de dados" pelo nome do banco de dados que você deseja criar, sem as aspas. Mas lembre-se que somente com o usuário postgres você pode criar um novo banco de dados.

Para iniciar o PostgreSQL digite:

# /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data

LEMBRE-SE que o PostgreSQL somente pode ser iniciado pelo usuário "postgres" que criamos, ou seja, para iniciá-lo você deve primeiro entrar no usuário postgres.

Para entrar no usuário postgres digite:

# su - postgres

Digite a senha do usuário postgres que você criou.

E para iniciar o PostgreSQL digite:

$ /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data

Pronto. O PostgreSQL está funcionando!

Chegamos ao fim do artigo, qualquer dúvida, erro, sugestão e elogios comentem. =D

BY EDUARDO SILVA

   1. Primeiras instalações
   2. Instalando e configurando o PostgreSQL

Criando facilmente um servidor APACHE2 + PHP5 (ou PHP4) + SNMP + MRTG

Instalação e configuração do Apache 2 no Debian 9.3

Instalando uma Nvidia no Debian

Mais sobre terminais leves....

Solução de problemas com wireless no Ubuntu Linux

Servidor de impressão + scanner (multifuncional) em Linux

#1 Comentário enviado por hiroyuki em 04/09/2007 - 09:45h
bacana o artigo eduardo, bem passo-a-passo mesmo! parabéns!
#2 Comentário enviado por G_henrique em 04/09/2007 - 11:10h
Opzzz!! tava mesmo precisando desse tutorial,,, caiu como uma luva.
Do Xiita GHenrique
#3 Comentário enviado por eulerto em 05/09/2007 - 12:56h
A versão que você utilizou já é antiga. Já estamos próximos a 8.3 e você utilizou a 8.1. Na inicialização do SGBD, você está utilizando o postmaster (aka postgres); isso não é recomendado. O recomendado seria o pg_ctl que consegue fazer uma gerência completa da inicialização, término e reinício do SGBD. Você utilizou um prompt # para demonstrar a inicialização, mas o PostgreSQL não inicia como root; o certo seria um prompt $. No mais o artigo ficou bom.
#4 Comentário enviado por duduzinhu em 05/09/2007 - 13:07h
Caro eulerto
O # que "utilizei" não foi colocado por min, e sim por algum moderador que aprovou o meu artigo, e se você acha que fui eu é só dar uma olhadinha no artigo que eu disse que o postgresql soh pode ser iniciado pelo o usuário que foi criado para ele, que nesse tutorial é o "postgres". Não utilizo nenhum simbolo como # para root ou $ para usuário comun para facilitar a compreensão do artigo. Já a versão do postgresql creio que não é tão desatualizada assim, e creio que não é tão dificil de compilar as versões mais atuais seguindo esse artigo. E eu disse que a configuração é bem simples porem funcional.

Abraços
Eduardo
#5 Comentário enviado por djova em 06/09/2007 - 13:05h
Caro Eduardo, parabéns pelo artigo penso que ficou ótimo, concordo com o eulerto em dizer sobre o uso do pg_ctl, e tmb penso que vc poderia ter adicionado junto com este artigo a questão da permissões de acesso (pg_hba.conf e postgresql.conf) sei que em breve poderemos colocar este artigo aqui ;) sem mais esta perfeito muito bom para que quer começar com o PostgreSQL.

abraços
Giovani

Contribuir com comentário

Entre na sua conta para comentar.