Nesse artigo apresentaremos um passo a passo de como instalar e configurar o PostgreSQL no sistema operacional Linux e a seguir será descrito como criar o usuário PostgreSQL.
Instalação e configuração
A instalação através de pacote acontecerá conforme os passos a seguir:
- Para instalar o POSTGRESQL via pacotes, (que vem com sua distribuição Linux), use o gerenciador de pacotes de sua distribuição. Nesse artigo vamos utilizar o Synaptic em conjunto com a distribuição Conectiva 10, como mostra a Figura 1.
Figura 1. Chamando o gerenciador de pacotes no Conectiva 10 - Procure na janela de Seções (lado esquerdo) a opção Banco de Dados (Figura 2). Na janela da direita são listados todos os bancos de dados disponíveis na distribuição em questão, e o PostgreSQL é uma destas opções. Selecione o nome “PostgreSQL” para selecionar e realizar a instalação.
Figura 2. Selecionando a opção Bancos de Dados no gerenciador de pacotes - Se algum outro pacote for requerido durante a instalação, surgirá uma nova janela pelo qual deve-se confirmá-la clicando no botão marcar (Figura 3).
Figura 3. Pacotes adicionais requeridos - Na barra superior, clique na opção aplicar (Figura 4), seguido de um outro clique sobre o botão aplicar que aparecerá na tela subseqüente. Esses procedimentos fazem com que a instalação dos pacotes selecionados seja realmente efetuada.
Figura 4. Aplicando as alterações e iniciando a instalação
Já a instalação por código fonte acontece conforme os passos a seguir:
- Baixar o código PostgreSQL no site (www.postgresql.org. ou www.postgresql.org.br)
- Abra uma janela do terminal (console) (CTRL + F1) (Figura 5)
Figura 5. O console do Linux - Digite tar -xzvf .tar.gz (Figura 6)
EX: tar –xzvf postgresql-8.0.3.tar.gz .
Este comando é usado para descompactar o arquivo do código fonte do POSTGRESQL que foi empacotado com o programa TAR e compactado com o programa GZIP.
Figura 6. Desempacotando e descompactando o arquivo baixado - Entre no diretório.
Ex: cd postgresql-8.0.3
- Execute o comando: ./configure]
Este comando, juntamente com os dois próximos, é utilizado em qualquer instalação a partir de um código fonte. O “./configure” serve para configurar as variáveis e definir configurações nos arquivos fonte de acordo com o sistema e bibliotecas disponíveis.
Após o inicio da configuração poderá ocorrer alguns erros que são facilmente resolvidos através da digitação de comandos sugeridos pelo próprio terminal do sistema. (Figura 7)
Figura 7. Sugestão do próprio terminal. Ex: ./configure –without-readline
Acontecendo um novo erro, repita a linha de comando, acrescido de outra opção sugerida pela compilação. - Execute o comando: “gmake” ou “make”
Deste ponto em diante todos os comandos deverão ser executados obrigatoriamente como usuário ‘root'. - Execute o comando: “gmake install” ou “make install”
Após a execução destes comandos o POSTGRESQL estará instalado em seu sistema Linux, no diretório /usr/local/pgsql
Definindo diretório de dados e Criando o usuário ‘postgres'
Antes de iniciar o servidor de banco de dados é necessário definir onde será armazenada a base de dados, neste artigo optou-se por colocar a base de dados no diretório /var/dados.
- Crie o diretório usando o comando mkdir (Figura 8)
Ex: mkdir /var/dados
‘Var' é um diretório já existente. ‘Dados' é o diretório criado.
Figura 8. Criando o diretório que armazenará o banco de dados - Crie o usuário “postgres” digitando o comando “adduser postgres” (Figura 9).
Este usuário é o administrador do banco de dados, você deve definir uma senha para ele (é o mais aconselhável) digitando “passwd postgres”, seguido da senha escolhida.
Figura 9. Criando o usuário postgres - Para dar segurança à sua base de dados coloque o diretório /var/dados de propriedade do usuário ‘postgres' com o comando chown postgres /var/dados
- Agora vamos preparar o diretório /var/dados para receber nossa base de dados.
Para isso é necessário entrar no usuário ‘postgres'. Basta usar o comando su – postgres. Este comando abre uma sessão de terminal para o usuário especificado.
Para preparar o diretório usamos o programa “initdb”. Sua sintaxe é a seguinte:initdb –D
A opção –D permite que você especifique onde está sua base de dados.
Este comando é para ser executado apenas uma vez. Depois de preparado o diretório, uma nova execução deste comando apagará toda sua base de dados.
Em nosso artigo digitaremos: “/usr/local/pgsql/bin/initdb –D /var/dados”
A Figura 10 mostra a saída produzida por este comando.
Figura 10. Saída do initdb -D. - Agora é necessário iniciar o PostgreSQL (SGBD), que irá monitorar todas as atividades de nossa base de dados, assim como ser o responsável pelos acessos, controle de usuários, etc.
Para isso execute o comando: /usr/local/pgsql/bin/postmaster –D /var/dados &.
O “&” no final é utilizado para deixar o servidor em execução em segundo plano (background), isto faz com que o terminal não fique preso e quando for fechado o servidor pare de ser executado.
Também pode ser utilizado o comando: /usr/local/pgsql/bin/pq_ctl –D /var/dados start.
A opção –D serve para especificar onde está à base de dados.
Particularmente recomendamos a segunda opção. Veja que ele não precisa do “&” pois o “pg_ctl” já se responsabiliza em colocar o servidor em background.
O nome do serviço responsável pela monitoração do banco de dados POSTGRESQL é o “postmaster”. - Para iniciar o servidor durante o boot do sistema, basta colocar o comando de inicialização descrito acima (vide item 5) no arquivo de inicialização de sua distribuição. No Conectiva o arquivo é o “/etc/rc.d/rc.local”.
O problema é que somente o usuário “postgres” pode iniciar o servidor e os comandos iniciados durante o boot são executados como usuário “root”. Para resolver este problema usa-se o comando “su” com a opção “-c”. Isto permitirá que executemos um comando como outro usuário.
Então basta colocar no final arquivo de inicialização a seguinte linha de comando:
su - c “/usr/local/pgsql/bin/pq_ctl –D /var/dados start” postgres
Este artigo foi desenvolvido pelos alunos do curso de sistemas de informação – 6º. Período – UNIG – Itaperuna (Eugênio Inácio, Heber Sathler, Jocimar Amaro) em conjunto com os professores Ricardo Esteves Kneipp e Rodney Cezar de Albuquerque.