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.

[ Hits: 56.009 ]

Por: Eduardo em 04/09/2007


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

Página anterior    

Páginas do artigo
   1. Primeiras instalações
   2. Instalando e configurando o PostgreSQL
Outros artigos deste autor

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

Leitura recomendada

Instruções simples para instalar os drivers da nVidia para XFree86 no Debian

Impressoras/scanners e multifuncionais Insigne GNU/Linux

Instalando e configurando openVPN no Debian Lenny

Configuração manual dos ponteiros do mouse

Apache 2.4 - A diretiva Options

  
Comentários
[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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts