Instalação do PortgreSQL
No Windows
Alerta: O PostgreSQL somente instala no Windows em sistema de arquivos NTFS e também não instala no Windows XP Start Edition (onde falta suporte a redes).
Firewall – Caso tenha um firewall instalado fique atento para permitir o acesso ao final da instalação.
1 - Efetuar download do site oficial http://www.postgresql.org/ftp/
- Clicar em win32
- Para a versão atual baixar o arquivo postgresql-8.2.4-1.zip existe também a edição
no-installer (postgresql-8.2.4-1-binaries-no-installer.zip) e a edição japonesa (postgresql-8.2.4-1-ja.zip).
2 - Descompactar e executar o arquivo postgresql-8.2.msi
3 - Selecionar idioma e clicar em Start. Na próxima tela clique em Próximo.
4 - Na tela "Informações de Instalação" existem muitas informações importantes:
- Recomenda-se a leitura da FAQ
- Fala das licenças dos diversos softwares a serem instalados
- Avisa que as versões 95, 98 e Me do Windows não são suportadas pelo PostgreSQL. Nem mesmo a versão XP usando FAT32. Deve ser Windows com NTFS.
- O PostgreSQL não executa com usuário que tenha privilégios de administrador, devemos criar um usuário sem este privilégio para ele
- Os drivers jdbc estão no subdiretório \jdbc e o Npgsql no \Npgsql
5 - Na Tela "Opções de Instalação" marque:
- Suporte para idioma nativo (para ter as mensagens de erro em pt_BR, (
(depois altere o postgresql.conf colocando lc_messages = “pt_BR”)
- Slony I (replicação) e outros que considere importantes e clique em Próximo
Obs.: Ao selecione escolha a opção "Todo o recurso será instalado em disco no disco rígido"
6 - Na tela "Configuração do Serviço":
- Poderá optar por instalar como serviço ou não. Recomendado como serviço.
Apenas clique em Próximo (ele criará uma senha aleatória para o usuário do serviço).
Responda sim quando perguntado se deseja que seja criado para você.
- Dica: Caso já tenha instalado o PostgreSQL antes nesta máquina deverá remover
o usuário "postgres" antes de continuar, caso não tenhamos a senha do usuário
do serviço. Para remover siga os passos:
- Painel de controle - Ferramentas administrativas - Gerenciamento do
computador - Usuários e grupos locais - Usuários. Remova o "postgres"
- Então clique em Próximo e Sim
7 - Na tela "Inicializar o agrupamento de bancos de dados":
Esta é a tela com mais opções e muitas são importantes.
A opção já marcada por padrão "Inicializar o agrupamento de bancos de dados" irá criar o nosso cluster (agrupamento principal de bancos de dados do PostgreSQL)". Deixar esta marcada.
Aqui podemos alterar a porta, que por padrão vem 5432. Para melhorar a segurança do ser vidor vamos alterar para 5222 (altere a gosto).
A opção "Aceita conexões em todos os endereços, e não apenas localhost" vem desmarcada por padrão. Somente marque esta em grande necessidade. Geralmente o PostgreSQL precisa dar acesso localmente apenas ao servidor web que está na mesma máquina (localhost) ou quando muito à outra máquina na mesma rede (local, aí passamos seu endereço para o pg_hba.conf e para o postgresql.conf).
Um uso seria: necessita acessar sua máquina de outra máquina remota
- Em Locale deixe como C mas antes de continuar leia o Apêndice A
- Em Codificação também deixe como SQL_ASCII (apenas uma sugestão).
- Entre com uma senha e repita. Altere o usuário se for o caso e Próximo.
8 - Na tela "Habilitar Linguagens Procedurais" deixe marcada PL/pgsql (iremos utilizar) e clique em Próximo
9 - Na tela "Habilitar Módulos Contrib" marque somente se necessitar usar e clique em Próximo e Próximo novamente na tela Pronto para Instalar e aguarde...
10 - Após instalar, na tela "Instalação concluída" recomenda-se que o administrador do SGBD se cadastrar na lista pgsql-announce, que envia informações semanais sobre novas versões e correções de erros. Basta clicar no botão, fazer o cadastro e Concluir.
Receberá informações sobre lancamento de novas versões, ferramentas para o PostgreSQL entre muitas outras informações úteis relacionadas ao PostgreSQL.
Dica: Com estas configurações, caso utilizemos a fonte Lucida console na console do Windows teremos visualizaremos nas consultas do psql acentuação correta e as aplicações também exibirão corretamente os acentos, pois são independentes da console. Apenas as mensagens de erro requerem o lc_messages como pt_BR para ficarem em português do Brasil (caso tenhamos adicionado suporte a idioma nativo).
No Linux
Através do pacote no-installer
A equipe de desenvolvimento do PostgreSQL oferece uma opção apenas para o Windows do PostgreSQL já compilado e pré-configurado, chamado de No-installer.
Este pacote tem algumas utilidades:
Não requer instalação
Não requer instalação como serviço
Portável (possibilidade de instalar em Pendrive ou MP3 e similares)
Contato com os comandos do PostgreSQL via console (preparação para o ambiente Linux)
Etapas:
1) Download do site oficial http://www.postgresql.org/ftp/
- Clicar em win32
- Para a versão atual baixar o arquivo postgresql-8.2.4-1-binaries-no-installer.zip
2) Descompactar para que seja criada a pasta c:\pgsql
3) Acessar o prompt de comando para criar o cluster
cd \pgsql
bin\initdb -D ..\data
Com isso será criado o diretório data no diretório atual, para abrigar todo o agrupamento de bancos de dados principal do SGBD.
4) Iniciar o serviço
Caso tenha firewall instalado previna-se agora de liberar o acesso.
Caso já tenha o PostgreSQL instalado e rodando, deverá usar este noutra porta. Para isso edite o arquivo c:\pgsql\data\postgresql.conf e altere a porta.
Onde tem #port = 5432, insira uma nova linha abaixo alterando a porta, como por exemplo:
port = 5333
Sem o comentário. Com isso poderá ter duas opções de PostgreSQL rodando ao mesmo tempo.
bin\pg_ctl -D data -l relatorio.txt start
5) Criar o superusuário
bin\createuser postgres
Tecle Y para que seja criado um super-usuário.
6) Acessando a console psql
bin\psql -U postgres
Pronto para usar.
7) Parando o serviço
bin\pg_ctl -D data stop
Observação.: perceba que pode entrar diretamente no diretório bin e no caso não terá que digitar bin\ nos comandos.
Observe que por padrão, o pg_hba.conf desta edição vem com método trust para os usuários da máquina atual, ou seja, pode se logar sem senha.
Através dos Repositórios
Instalaremos em uma distribuição filha da distribuição Debian, no nosso caso a Ubuntu.
Caso queira instalar em uma distribuição Linux com outra origem procure pelo repositório da mesma e pelos programas de instalação.
Aqui adotarei o apt-get para a instalação.
Instalar
sudo apt-get install postgresql-8.2
Com isso teremos a versão 8.2.4 instalada em pouco tempo. O Ubuntu irá buscar o postgresql em seus servidores e o instalará e configurará para nós:
Detalhes
Diretório de dados - /var/lib/postgresql/8.2/main/base
Diretório do pg_hba.conf e do postgresql.conf - /etc/postgresql/8.2/main
Usuário
Trocar a senha do super-usuário
sudo passwd postgres
As configurações do pg_hba.conf e do postgresql.conf são semelhantes para ambos os sistemas assim como o uso do psql.
Através dos Fontes
Este método de instalação é o que oferece um maior controle e uma maior customização possível.
Pré-requisitos para instalação do PostgreSQL num UNIX:
make do GNU (gmake ou make)
compilador C, preferido GCC mais recente
gzip
biblioteca readline (para psql)
gettext (para NLS)
kerberos, openssl e pam (opcionais, para autenticação)
No Ubuntu execute antes de instalar pelos fontes:
sudo apt-get install build-essential, libreadline-dev, zlib1g-dev, gettext
Obs.: estes pacotes podem mudar de nome devido ao aparecimento de novas versões.
E use make ao invés de gmake.
Download - http://www.postgresql.org/ftp/source/
Descompacte em /usr/local/src e instale no diretório default, que é /usr/local/pgsql.
sudo tar zxpvf postgresql-8.2.4.tar.gz -C /usr/local/src
cd /usr/local/src/postgresql-8.2.4
Compilar
sudo ./configure
sudo make
sudo make install
sudo groupadd postgres
sudo useradd -g postgres -d /usr/local/pgsql postgres
sudo mkdir /usr/local/pgsql/data
sudo chown postgres:postgres /usr/local/pgsql/data
sudo passwd postgres
su - postgres
/usr/local/pgsql/bin/initdb --locale=pt_BR -D /usr/local/pgsql/data
/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data >logfile 2>&1 & (startar)
/usr/local/pgsql/bin/createdb test
/usr/local/pgsql/bin/psql test
Caso não pretenda suporte aos locales do Brasil usar:
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
Copiar o script de inicialização "linux" para o /etc/init.d
sudo cp /usr/local/src/postgresql-8.2.4/contrib/start-script/linux /etc/init.d/postgresql-8.2.4
Dar permissão de execução:
sudo chmod u+x /etc/init.d/postgresql-8.2.4
Adicionar ao Path
su - postgres
gedit .bash_profile (e adicione a linha abaixo):
PATH=/usr/local/pgsql/bin:$PATH
Pós Instalação
LD_LIBRARY_PATH=/usr/local/pgsql/lib
export LD_LIBRARY_PATH
initdb – inicializa o cluster, cria os scripts de configuração default.
postmaster – inicia o processo do servidor responsável por escutar por pedidos de conexão.
Após a instalação está criado o agrupamento principal (cluster main) de bancos de dados do PostgreSQL.
Segurança
Caso não se tenha confiança nos usuários locais é recomendável utilizar a opção -W, ou
–pwfile do initdb, que exigirá senha.
No arquivo pg_hba.conf utilizar autenticação tipo md5 antes de iniciar o servidor pela primeira vez.
PID
Quando o programa que inicia o servidor (postmaster) está em execução, é criado um PID e armazenado dentro do arquivo postmaster.pid, dentro do subdiretório data. Ele impede que mais de um processo postmaster seja executado usando o mesmo cluster e diretório de dados.
Ribamar FS – http://ribafs.net