1 - Descompacte o arquivo do código fonte:
tar zxvf postresql-8.0.3.tar.gz
Entre no diretório gerado pela descompactação:
(Isto não é um passo, é apenas um comando para faciltar a sintaxe dos demais :) )
cd postgresql-8.0.3
2 - Configure o fonte para seu sistema operacional digitando:
./configure --prefix=/usr/local/pgsql
(Obs: o parâmetro --prefix, indica que o PostreSQL deverá ser instalado no diretório /usr/local/pgsql, você pode escolher outro diretório, e caso este parâmetro seja omitido, o PostgreSQL será instalado no diretório /usr/local/pgsql)
3 - Compile o fonte digitando:
make
4 - Mude para o usuário root digitando:
su
5 - Instale o PostgreSQL:
make install
6 - Adicione um usuário para executar o PostgreSQL (Nunca execute-o como root)
adduser postgres
(Obs: dependendo da sua distribuição linux, o comando para criar o usuário pode variar de adduser a useradd)
7 - Crie o diretório para hospedar os Bancos de Dados do PostgreSQL:
mkdir /usr/local/pgsql/data
8 - Mude o proprietário do diretório dos dados para o usuário postgres:
(Sem este passo, o processo do PostgreSQL não terá permissão para criar Bancos de Dados, e nem acessa-los)
chown postgres /usr/local/pgsql/data
9 - Mude para o usuário postgres:
su - postgres
10 - Faça a inicialização do Banco de Dados básico do PostgreSQL:
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
Pronto! Seu SGBD PostgreSQL está instalado.
Agora, inicie o PostgreSQL para testa-lo:
/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data
Para conectar um console e testar o postgres digite:
/usr/local/pgsql/bin/psql -d template1 -U postgres
Crie algum banco de dados, conecte nele, crie tabelas, experimente ...
Observações
No comando psql, o parâmetro -d informa o banco a ser conectado, como ainda não existe outro, a única alternativa é conectar no template1.
Não crie nada no banco template1, a não ser que você saiba o que está fazendo. Crie seu próprio banco, conecte e crie seus objetos nele.
No comando psql, o parâmetro -U informa o usuário do banco que será usado para conectar. Crie posteriormente um usuário menos privilegiado e use-o para fins de segurança, reserve o usuário postgres somente para operações de manutenção.