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:

  1. 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.
    28-06pic04.JPG
    Figura 1.
    Chamando o gerenciador de pacotes no Conectiva 10
  2. 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.
    28-06pic05.JPG
    Figura 2.
    Selecionando a opção Bancos de Dados no gerenciador de pacotes
  3. 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).
    28-06pic06.JPG
    Figura 3. Pacotes adicionais requeridos
  4. 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.
    28-06pic07.JPG
    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:

  1. Baixar o código PostgreSQL no site (www.postgresql.org. ou www.postgresql.org.br)
  2. Abra uma janela do terminal (console) (CTRL + F1) (Figura 5)
    28-06pic08.JPG
    Figura 5. O console do Linux
  3. 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.
    28-06pic09.JPG
    Figura 6.
    Desempacotando e descompactando o arquivo baixado
  4. Entre no diretório.
    Ex: cd postgresql-8.0.3
  5. 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)
    28-06pic10.JPG
    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.
  6. Execute o comando: “gmake” ou “make”
    Deste ponto em diante todos os comandos deverão ser executados obrigatoriamente como usuário ‘root'.
  7. 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.

  1. 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.
    28-06pic11.JPG
    Figura 8. Criando o diretório que armazenará o banco de dados
  2. 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.
    28-06pic12.JPG
    Figura 9. Criando o usuário postgres
  3. 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
  4. 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.
    28-06pic13.JPG
    Figura 10. Saída do initdb -D.
  5. 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”.
  6. 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.