Receita de bolo para instalação e configuração do PostgreSQL 8.1 no linux.

1º Passo - Download

ftp://ftp.br.postgresql.org/pub/mirrors/postgresql/source/v8.1.3/postgresql-8.1.3.tar.bz2

2º Passo - Descompacte o pacote

$ tar -xjvf postgresql-8.1.3.tar.bz2

3º Passo - Acesse o diretório

$ cd postgresql-8.1.3

4º Passo - Configuração e compilação

$ ./configure –prefix=/usr/local/postgres –bindir=/usr/bin –sysconfdir=/etc/postgres
$ make

5º Passo - Instalação

$ su
$ make install

6º Passo - Criando grupo e usuário

$ groupadd postgres
$ adduser postgres -g postgres

7º Passo - Criando diretório para os dados

$ mkdir /usr/local/postgres/data
$ chown postgres.postgres /usr/local/postgres/data

8º Passo - Inicializando o banco

$ su - postgres
$ initdb -D /usr/local/postgres/data

9º Passo - Rodando o postgres em segundo plano, gravando logs

$ postmaster -D /usr/local/postgres/data >> /usr/local/postgres/data/logfile &

10º Passo - Testando

$ psql template1 postgres

Caso tenha conectado digite \q para sair.

11º Passo - Copiando arquivo de inicialização

Vá ao diretório onde o PostgeSQL foi descompactado e copie o arquivo chamado “linux” que esta na pasta ./contrib/start-scripts para /etc/init.d/ renomeando para postgresql dando permissão para execução.

$ su - root
$ mv ./contrib/start-scripts/linux /etc/init.d/postgresql
$ chmod +x /etc/init.d/postgresql

12º Passo - Configurando o arquivo

  • Abra o arquivo no editor de texto
  • Edite a linha 32 trocando seu conteúdo de prefix=/usr/local/pgsql para prefix=/usr/local/postgres
  • Edite a linha 35 trocando seu conteúdo de PGDATA=”/usr/local/pgsql/data” para PGDATA=”/usr/local/postgres/data”
  • Edite a linha 60 trocando seu conteúdo de DAEMON=”$prefix/bin/postmaster” para DAEMON=”/usr/bin/postmaster”
  • Edite a linha 63 trocando seu conteúdo de PGCTL=”$prefix/bin/pg_ctl” para PGCTL=”/usr/bin/pg_ctl”
  • Salve o arquivo


13º Passo - Testando o arquivo

Ainda como root digite os seguintes comando para verificar se o arquivo esta correto:

$ /etc/init.d/postgresql status
$ /etc/init.d/postgresql stop
$ /etc/init.d/postgresql start
$ /etc/init.d/postgresql restart

14º Passo - Iniciando automaticamente

Edite o aqrquivo /etc/rc.local adicionando a seguinte linha:
/etc/init.d/postgresql start

15º Passo - Testando novamente

Agora basta reinicar a sessão e repetir o 10º Passo.

Obs: Caso tenha problemas na instalação verifique se há um compilador C instalado corretamente.