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.890 ]

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

Super Desktop com Ubuntu Linux 9.10

Configurando a placa de rede Braview com chipset REALTEK RTL8139D (Silan) no Debian Sarge

Instalando Asterisk 1.4 no Debian 4.0

Instalando Debian Lenny no laptop Lenovo ThinKPad SL400

Configurando conexão ADSL com Linux

  
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