O primeiro teste para verificar se é possível acessar o servidor de banco de dados é tentar criar um banco de dados. Um servidor PostgreSQL em execução pode gerenciar muitos bancos de dados. Normalmente é utilizado um banco de dados em separado para cada projeto ou para cada usuário.
É possível que o seu administrador já tenha criado um banco de dados para você. Nesse caso, esta etapa pode ser omitida e ir direto para a próxima seção.
Para criar um novo banco de dados a partir da linha de comando, chamado
meu_bd nesse exemplo, deve ser utilizado o comando:
$createdb meu_bd
Se esse comando não produzir resposta, esta etapa foi bem-sucedida e você pode pular o restante dessa seção.
Se aparecer uma mensagem semelhante a:
createdb: comando não encontrado
então o PostgreSQL não foi instalado da maneira correta. Ou ele não foi instalado, ou o caminho de procura não foi definido corretamente para incluí-lo. Tente executar o comando utilizando o caminho absoluto:
$/usr/local/pgsql/bin/createdb meu_bd
O caminho na sua máquina pode ser diferente. [3] Fale com o administrador, ou verifique novamente as instruções de instalação para corrigir o comando.
Outra resposta pode ser esta:
createdb: erro: a conexão com o servidor no soquete "/tmp/.s.PGSQL.5432" falhou: Arquivo ou diretório inexistente
O servidor está em execução localmente e aceitando conexões nesse soquete?
Significando que o servidor não foi iniciado, ou que não está
escutando onde o createdb esperava encontrá-lo.
Novamente, verifique as instruções de instalação ou consulte o
administrador.
Outra resposta pode ser esta:
createdb: erro: a conexão com o servidor no soquete "/var/run/postgresql/.s.PGSQL.5432" falhou: FATAL: role "halley" não existe
onde é mencionado o nome de seu login
em vez de halley.
Isso acontecerá se o administrador não tiver criado uma conta de
usuário do PostgreSQL para seu uso
(As contas de usuário do PostgreSQL
são distintas das contas de usuário do sistema operacional).
Se você for o administrador, obtenha ajuda para criar contas em
Capítulo 21.
Será necessário se tornar o usuário do sistema operacional que
instalou o PostgreSQL (geralmente
postgres) para criar a primeira conta de usuário.
[4]
Também pode ter sido atribuído para você um nome de usuário do
PostgreSQL diferente do nome de usuário
do sistema operacional; nesse caso, será necessário utilizar a opção
-U, ou definir a variável de ambiente
PGUSER, para especificar seu nome de usuário do
PostgreSQL.
Se você tiver uma conta de usuário, mas essa conta não possuir o privilégio necessário para criar bancos de dados, será exibida a seguinte mensagem:
createdb: erro: criação do banco de dados falhou: ERRO: permissão negada ao criar banco de dados
Nem todo usuário possui autorização para criar bancos de dados. Se o PostgreSQL se recusar a criar o banco de dados para você, então o administrador do banco de dados deverá conceder permissão para você criar bancos de dados. Consulte o administrador caso isso ocorra. Se você mesmo instalou o PostgreSQL, então você deverá se conectar ao PostgreSQL sob a mesma conta de usuário do sistema operacional utilizada para iniciar o servidor, para as finalidades desse tutorial. [5]
Também podem ser criados bancos de dados com outros nomes. O PostgreSQL permite a criação de qualquer número de bancos de dados em uma dada instalação. Os nomes dos bancos de dados devem ter o primeiro caractere alfabético, e limitados a um comprimento de 63 bytes. Uma escolha conveniente é criar o banco de dados com o mesmo nome do usuário corrente do sistema operacional. Muitas ferramentas assumem esse nome de banco de dados como o nome padrão, evitando a necessidade de digitá-lo. Para criar esse banco de dados deve ser digitado apenas:
$createdb
Se não desejar mais utilizar um banco de dados, você poderá
removê-lo. Por exemplo, se você for o dono (criador) do banco de
dados meu_bd, poderá removê-lo utilizando o
seguinte comando:
$dropdb meu_bd
(Para esse comando o nome de usuário do sistema operacional não é utilizado como nome padrão do banco de dados: o nome deve ser sempre especificado.) Esta ação remove fisicamente todos os arquivos associados ao banco de dados não podendo ser desfeita, portanto esta operação somente deve ser feita após um longo período de reflexão.
Podem ser encontradas informações adicionais sobre os utilitários
createdb e dropdb em
createdb e dropdb,
respectivamente.
[3]
/usr/bin/createdb no
Debian 12 e em outras distribuições do
Linux. (N. T.)
[4]
Para se tornar o usuário do sistema operacional
postgres, pode ser usado o comando para
substituir o usuário
su,
como em sudo su - postgres. (N. T.)
[5]
Como uma explicação de por que isso funciona: os nomes de
usuário do PostgreSQL são distintos
das contas de usuário do sistema operacional. Ao se conectar com
um banco de dados, você pode escolher o nome do usuário do
PostgreSQL com o qual deseja fazer a
conexão; se não especificar o usuário, o padrão é utilizar
um nome igual ao da conta corrente do sistema operacional.
Como isso ocorre, sempre existirá uma conta de usuário do
PostgreSQL com nome igual ao do usuário
do sistema operacional que iniciou o servidor, e esse usuário
sempre tem permissão para criar banco de dados.
Em vez de efetuar o login no
sistema operacional como esse usuário, pode ser especificada a
opção -U em todas as aplicações para escolher o
nome do usuário do PostgreSQL com o
qual se deseja conectar.