Demonstro nesta dica um guia rápido de instalação do
PostgreSQL pelo pacote source. A instalação foi feita em uma distribuição Debian 6 (Squeeze), mas pode ser utilizada em qualquer distribuição com alguns ajustes.
Instalação
1 - Entrar na pasta "/opt" e baixar o pacote source do PostgreSQL:
# cd /opt
# wget -c http://ftp.postgresql.org/pub/source/v9.1.3/postgresql-9.1.3.tar.gz
2 - Descompactar o pacote baixado:
# tar zxvf postgresql-9.1.3.tar.gz
3 - Instalar o pacote "build essential" para que seja possível compilar e instalar o PostgreSQL:
# aptitude update
# aptitude install build-essential
4 - Instalar pacotes necessários para a instalação do Postgres:
# aptitude install libreadline6-dev zlib1g-dev flex bison
5 - Entrar no pacote já descompactado e começar o processo de instalação:
# cd postgresql-9.1.3
# ./configure -prefix=/opt/postgres9.1
# make
# make install
6 - Entrar no diretório "contrib" para instalar algumas bibliotecas complementares:
# cd contrib
# make
# make install
7 - Copiar o script de inicialização "linux" no diretório "/opt/postgresql-9.1.3/contrib/start-scripts" para "/etc/init.d" com o nome de postgres9.1:
# cp start-scripts/linux /etc/init.d/postgres9.1
8 - Sair do diretório de instalação do Postgres e entrar no diretório "/opt/postgres9.1":
# cd /opt/postgres9.1
9 - Criar o usuário postgres:
# adduser postgres
10 - Criar a pasta "data" onde ficarão os arquivos de configuração do servidor:
# mkdir data
11 - Mudar o dono da pasta "data" para o usuário postgres:
# chown postgres data
12 - Logar como usuário "postgres":
# su - postgres
13 - Ir para o diretório "opt/postgres9.1/bin":
cd /opt/postgres9.1/bin
14 - Configurar a pasta "data" e criar os arquivos de configuração:
./initdb -D ../data
Ajustes finais
15 - Ir para o diretório "data" e fazer as seguintes modificações nos arquivos de configuração:
Em postgresql.conf
Alterar de:
#listen_addresses = 'localhost'
port = 5432
Para:
listen_addresses = '*'
port = 5432
Em pg_hba.conf
Achar estes parâmetros de configuração e inserir o endereço da sua rede para permitir a comunicação do servidor com os hosts da rede:
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all 192.168.1.0/24 trust
# IPv6 local connections:
host all all ::1/128 trust
16 - Logar como root editar o arquivo "/etc/init.d/postgres9.1" e fazer as seguintes alterações:
Alterar de:
# Installation prefix
prefix=/usr/local/pgsql
# Data directory
PGDATA="/usr/local/pgsql/data"
Para:
# Installation prefix
prefix=/opt/postgres9.1 # (Caminho do diretório onde foi instalado o postgres)
# Data directory
PGDATA="/opt/postgres9.1/data" # (Caminho da pasta "data")
17 - Dar permissão de execução para o script "postgres9.1":
# chmod +x postgres9.1
18 - Configurar o script "postgres9.1" para inicializar junto com sistema operacional:
# update-rc.d postgres9.1 defaults
19 - Iniciar o Postgres:
# /etc/init.d/postgres9.1 start
Pronto o postgres9.1 está instalado e funcionando, para conferir basta conectar no servidor.
Espero que tenham gostado, dúvidas, críticas e sugestões serão bem-vindas.