A tempos atrás instalei o PostgreSQL 8.0 na minha máquina. Lembro que foi um tanto penoso para entender como proceder logo após a instalação dele no sistema, pensei até em escrever aqui mas devido à falta de tempo não escrevi nada, e é o que venho fazer agora.
O material é um tanto escasso em português, e as explicações geralmente confusas. Vou tentar dar um passo-a-passo.
Instalei no Ubuntu 6.06 pelo Synaptic (bem fácil), mas creio que o processo de compilação está bem descrito na documentação do PostgreSQL, então não vou me ater à este processo. O galho me veio após a instalação. Também recomendo que se instale o phppgAdmin, que dá uma interface mais agradável de trabalhar (nesse caso você precisará do Apache2 e do PHP5).
Primeiramente, saiba que quando se instala o PostgreSQL, assim como o Apache, o CUPS, é criado um usuário no sistema, para que este possa iniciar o servidor. É mais uma questão de organização e controle. Não se preocupe com isso, basta saber que o nome do usuário é
postgres.
Além de criar este usuário, alguns comandos são adicionados ao sistema. São comandos administrativos que podem ser chamados direto pelo terminal.
Mais um detalhe importante: o PostgreSQL não permite que se crie e faça login com usuários com nomes sugestivos como admin, root, etc... Anotado? Então vamos lá, temos comandos para agir externamente e sabemos que não podemos criar nenhum usuário com nome sugestivo.
Abra um terminal e digite o comando:
$sudo su - postgres createuser seu_nome_de_usuario_do_linux
Se não funcionar dessa forma tente:
$sudo su - postgres
$createuser seu_nome_de_usuario_do_linux
A seguir serão feitas algumas perguntas (o novo usuário poderá criar um super-usuário? o novo usuário poderá criar bancos de dados?...poderá criar um novo usuário?). Responda a estas perguntas (sugiro um não-sim-não).
NOTA: o seu_nome_de_usuário_do_linux irá facilitar sua vida na hora de criar bancos de dados e fazer manutenção.
Temos um usuário criado, mas ele não tem senha ainda.
Faça assim:
$sudo su - postgres psql
Se não der certo tente:
$sudo su - postgres
$psql
Isso irá abrir um outro tipo de terminal, um terminal interativo com o servidor de banco de dados. Entre com a seguinte linha nele:
postgres=#ALTER ROLE seu_nome_de_usuário_do_linux WITH PASSWORD 'sua_senha';
Dê enter (aí você acaba de setar sua senha) e depois digite:
postgres=#\q
E dê enter novamente (para sair do terminal interativo do PostgreSQL).
Pronto. Agora você tem um usuário e senha do PostgreSQL com o qual poderá criar e editar seus bancos de dados no PostgreSQL.
Você pode criar um banco de dados mesmo sem senha com o comando:
$createdb nome_do_banco
Mas para logar pelo phppgAdmin a senha se faz necessária.
Agora vamos supor que você tenha criado um banco com o nome dummy. Para acessá-lo pelo terminal interativo do postgreSQL, basta fazer:
$psql -d dummy
E a partir daí enviar suas queries à este banco.
Espero que isso tenha ajudado a dar o ponta-pé inicial para o uso do PostgreSQL. Abaixo passo alguma informações extras.
Os comandos que podem ser usados direto pelo terminal são:
clusterdb -- cluster a PostgreSQL database
createdb -- create a new PostgreSQL database
createlang -- define a new PostgreSQL procedural language
createuser -- define a new PostgreSQL user account
dropdb -- remove a PostgreSQL database
droplang -- remove a PostgreSQL procedural language
dropuser -- remove a PostgreSQL user account
ecpg -- embedded SQL C preprocessor
pg_config -- retrieve information about the installed version of PostgreSQL
pg_dump -- extract a PostgreSQL database into a script file or other archive file
pg_dumpall -- extract a PostgreSQL database cluster into a script file
pg_restore -- restore a PostgreSQL database from an archive file created by pg_dump
psql -- PostgreSQL interactive terminal
reindexdb -- reindex a PostgreSQL database
vacuumdb -- garbage-collect and analyze a PostgreSQL database
-----------
keepReading