Nota: Seção escrita pelo tradutor, não fazendo parte do manual original.
Esta seção mostra como instalar o PostgreSQL 8.0 no Fedora Core 3, a partir do arquivo postgresql-8.0.0.tar.gz baixado no diretório /download, através do usuário root.
# cd /tmp
# tar xzvf /download/postgresql-8.0.0.tar.gz
# cd postgresql-8.0.0/
# ./configure --enable-nls
# make
All of PostgreSQL successfully made. Ready to install.
# make install
PostgreSQL installation complete.
# # Criar o usuário postgres
# adduser postgres
# # Criar o diretório de dados
# mkdir /usr/local/pgsql/data
# # Tornar o usuário postgres o dono do diretório de dados
# chown postgres:postgres /usr/local/pgsql/data
# # Se tornar o usuário postgres
# su - postgres
# # Inicializar a área de dados
$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the -A option the
next time you run initdb.
Success. You can now start the database server using:
/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data
or
/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start
# # Ativar o servidor PostgreSQL
$ /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data >logfile 2>&1 &
# # Criar o usuário teste com a senha teste
$ /usr/local/pgsql/bin/createuser teste --pwprompt
Forneça a senha do novo usuário:
Forneça novamente:
Será permitido ao novo usuário criar bancos de dados? (s/n) n
Será permitido ao novo usuário criar outros usuários? (s/n) n
CREATE USER
# # Criar o banco de dados teste tendo por dono o usuário teste
$ /usr/local/pgsql/bin/createdb teste --owner teste
CREATE DATABASE
# # Usar o psql para acessar o banco de dados teste
$ /usr/local/pgsql/bin/psql -U teste teste
Bem-vindo ao psql 8.0.0, o terminal interativo do PostgreSQL.
Digite: \copyright para mostrar a licença da distribuição
\h para ajuda nos comandos SQL
\? para ajuda nos comandos do psql
\g ou finalizar com ponto-e-vírgula para executar o comando
\q para sair
teste=> \l
Lista dos bancos de dados
Nome | Dono | Codificação
-----------+----------+-------------
template0 | postgres | LATIN1
template1 | postgres | LATIN1
teste | teste | LATIN1
(3 linhas)
teste=> \q
# # Definir o caminho de procura das bibliotecas
# LD_LIBRARY_PATH=/usr/local/pgsql/lib/
# export LD_LIBRARY_PATH
# # Definir o caminho de procura dos executáveis
# PATH=$PATH:/usr/local/pgsql/bin/:
# export PATH
Nota: Para ver as páginas do manual usando o comando man deve ser adicionada a linha MANPATH /usr/local/pgsql/man/ ao arquivo /etc/man.config.
Abaixo está mostrado o script /etc/init.d/postgresql para efetuar as operações de ativar, parar, mostrar o status, reativar e recarregar o servidor PostgreSQL.
#!/bin/sh
PGDATA=/usr/local/pgsql/data
PGBIN=/usr/local/pgsql/bin
PGLOG=/dev/null
start(){
echo "Ativando o serviço PostgreSQL: "
su -l postgres -c "$PGBIN/pg_ctl -D $PGDATA start >> $PGLOG"
}
stop(){
echo -n $"Parando o serviço PostgreSQL: "
su -l postgres -c "$PGBIN/pg_ctl -D $PGDATA stop"
}
status(){
echo "Status do serviço PostgreSQL: "
su -l postgres -c "$PGBIN/pg_ctl -D $PGDATA status"
}
restart(){
echo "Reativando o serviço PostgreSQL: "
su -l postgres -c "$PGBIN/pg_ctl -D $PGDATA restart"
}
reload(){
echo "Recarregando o serviço PostgreSQL: "
su -l postgres -c "$PGBIN/pg_ctl -D $PGDATA reload"
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status
;;
restart)
restart
;;
reload|force-reload)
reload
;;
*)
echo $"Usage: $0 {start|stop|status|restart|reload|force-reload}"
exit 1
esac
exit 0