Manual/Diversos/CompilandoOPostgreSQL82NoDebianLenny

Compilando o PostgreSQL 8.2 no Debian Lenny

Índice

  1. Dependências
  2. Compilando o PostgreSQL
  3. Criando o usuário postgres e criando o cluster
  4. Comandos básicos do PostgreSQL
    1. Iniciar
    2. Parar
    3. Reiniciar
    4. Verificar status
  5. Instalação em outros sistemas operacionais
  6. Créditos

A versão 1.X do i-Educar está homologada para funcionar com o banco de dados  PostgreSQL em sua versão 8.2. Porém, as distribuições Linux mais atuais (como o Debian e o Ubuntu) não possuem mais suporte a esta versão.

Para instalá-lo, é necessário compilá-lo ou instalar os pacotes pré-compilados de sua distribuição (não é recomendável pois pode quebrar dependências de sistema). Este guia segue a primeira opção, então prepare-se para a compilação.

Faça o  download do código fonte do banco (arquivo postgresql-8.2.XX.tar.gz) no site do projeto PostgreSQL. Este guia foi baseado na  versão 8.2.11.

Dependências

Para compilar o PostgreSQL, é necessário resolver algumas dependências:

$ apt-get install gcc g++ zlibc 
$ apt-get install libreadline5-dev zlib1g-dev -y

Compilando o PostgreSQL

Faça o download e compile o código fonte (observe que os dois últimos comandos devem ser dados como root):

$ wget http://wwwmaster.postgresql.org/download/mirrors-ftp/source/v8.2.11/postgresql-8.2.11.tar.gz
$ tar -zvxf postgresql-8.2.11.tar.gz
$ cd postgresql-8.2.11
$ ./configure --prefix=/usr/local/pgsql --without-readline 
$ make
# make install
# cp /usr/local/pgsql/bin/* /usr/bin

Criando o usuário postgres e criando o cluster

Crie o usuário postgres (o super usuário do banco de dados).

# adduser postgres 

Crie o diretório do cluster e dê posse para o usuário postgres recém criado:

# mkdir /usr/local/pgsql/data 
# chown postgres /usr/local/pgsql/data -v 

Inicie o cluster:

# su - postgres
$ cd /usr/local/pgsql/ 
$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data 

Teste se o PostgreSQL está realmente funcionando:

$ /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data 

Se o Postgresql estiver realmente funcionando, algo parecido com o trecho abaixo será exibido

LOG:  database system was shut down at 2009-08-04 09:02:16 BRT
LOG:  checkpoint record is at 0/42C424
LOG:  redo record is at 0/42C424; undo record is at 0/0; shutdown TRUE
LOG:  next transaction ID: 0/593; next OID: 10820
LOG:  next MultiXactId: 1; next MultiXactOffset: 0
LOG:  database system is ready

Para poder parar este último comando, utilize o atalho CTRL+C.

Deslogue do usuário postgres e retorne ao usuário root apenas com o comando $ exit

Copie o script de inicialização do PostgreSQL (está no diretório em que você descompactou o tar.gz). Este comando irá facilitar as ações de iniciar, parar e reiniciar o banco:

# cp contrib/start-scripts/linux  /etc/init.d/postgresql 
# chmod +x /etc/init.d/postgresql 

Ative a capacidade a conexões TCP/IP no próprio script de inicialização: Escolha uma das duas formas de editores apresentadas abaixo

Para usar o editor vim (editor via terminal)

# vim /etc/init.d/postgresql

se quiser usar o gedit (editor gráfico

# gedit /etc/init.d/postgresql

Altere as seguintes linhas:

echo -n "Starting PostgreSQL: "
su - $PGUSER -c "$DAEMON -D '$PGDATA' &" >>$PGLOG 2>&1 

Para:

echo -n "Starting PostgreSQL: "
su - $PGUSER -c "$DAEMON -i -D '$PGDATA' &" >>$PGLOG 2>&1 

Atencão: observe que apenas foi acrescentado o parâmetro -i antes do -D.

Para verificar se o PostgreSQL está rodando na portão padrão, utilize o comando netstat:

# netstat -avnp |grep 5432

O resultado esperado deverá ser próximo de:

netstat: no support for `AF IPX' on this system.
netstat: no support for `AF AX25' on this system.
netstat: no support for `AF X25' on this system.
netstat: no support for `AF NETROM' on this system.

Comandos básicos do PostgreSQL

Iniciar

# /etc/init.d/postgresql start 

Parar

# /etc/init.d/postgresql stop

Reiniciar

# /etc/init.d/postgresql restart 

Verificar status

# /etc/init.d/postgresql status 

Instalação em outros sistemas operacionais

Este guia foi criado utilizando o Debian Lenny. Usuários Ubuntu não devem ter dificuldades em seguir este guia. Para outras distribuições Linux, verifique a nomenclatura dos pacotes dependentes. Usuários Windows podem simplesmente instalar com o uso do  instalador do PostgreSQL.

Créditos

Esse guia foi baseado no manual de instalação do projeto  GSAN (necessário cadastro) que também está hospedado no  Portal do Software Público Brasileiro.