O Postgres, também conhecido como PostgreSQL, representa um pilar na gestão de bancos de dados objeto-relacionais. Com décadas de desenvolvimento, o Postgres é um banco de dados confiável e flexível que oferece alto desempenho.

Este guia prático explora como criar bancos de dados e tabelas e excluir bancos de dados no Postgres. Além disso, ele mostra como você pode realizar as mesmas tarefas usando uma ferramenta de administração de banco de dados, como o Adminer.

Primeiros passos com o Postgres

Para começar, verifique se você tem o Postgres instalado em seu sistema. Se ele não estiver instalado, faça o download do arquivo necessário e siga as instruções de instalação.

Lembre-se de que os comandos mostrados aqui foram demonstrados no macOS, mas funcionarão perfeitamente em qualquer sistema operacional.

Quando o Postgres estiver instalado, digite este comando em seu terminal para verificar se tudo está funcionando corretamente:

postgres -V

Esse comando deve retornar o número da versão de sua instalação do Postgres:

O número da versão do Postgres.
O número da versão do Postgres.

Como se conectar ao servidor de banco de dados PostgreSQL

Então você instalou o Postgres em seu sistema e está pronto para criar bancos de dados. Mas como você acessa o banco de dados? É aqui que entra o terminal interativo do Postgres, popularmente chamado de psql. O psql é um frontend baseado em terminal para o Postgres que permite que você faça consultas ao Postgres e visualize os resultados da consulta.

Durante a instalação, o Postgres cria um superusuário padrão no seu sistema operacional (OS) que tem acesso máximo ao banco de dados. Você pode fazer login no terminal psql como o superusuário padrão usando este comando:

psql postgres

Após executar esse comando, você verá o terminal mudar para postgres=#, indicando que você está conectado como o superusuário padrão.

Uma das maiores vantagens de usar o psql são os metacomandos. Essas ferramentas avançadas permitem que você execute tarefas administrativas do banco de dados, como conectar-se a bancos de dados ou exibir tabelas, sem conhecer os comandos SQL exatos.

Para usar um metacomando no psql, você deve começar com uma barra invertida (\) seguida do comando. Aqui estão alguns exemplos:

  • \c <database-name> – Conecta você a um banco de dados específico.
  • \l – Lista todos os bancos de dados no servidor.
  • \dt – Exibe todas as tabelas em um banco de dados.

Como criar bancos de dados Postgres

Ao trabalhar com bancos de dados, é uma boa prática seguir o princípio do menor privilégio, criando um novo usuário com permissões específicas. No entanto, para simplificar este guia, vamos criar e gerenciar bancos de dados usando o superusuário padrão.

Em primeiro lugar, execute o seguinte metacomando para listar todos os usuários no servidor Postgres:

\du

Se você não tiver adicionado nenhum usuário novo, deverá ver apenas o superusuário padrão:

Usuários no servidor Postgres local.
Usuários no servidor Postgres local.

O superusuário padrão pode aparecer como Postgres ou como o nome de usuário do seu sistema operacional, dependendo da configuração do seu sistema.

Por padrão, o superusuário não tem uma senha. No entanto, para a administração do banco de dados mais tarde, defina uma senha usando este comando:

\password <superuser-name>

Digite sua senha quando solicitado e confirme. Agora, você está pronto para começar a criar bancos de dados no servidor Postgres. A sintaxe para criar um banco de dados é CREATE DATABASE <database-name>.

Vamos começar criando um banco de dados chamado sales:

CREATE DATABASE sales;

Você verá o seguinte após a criação bem-sucedida do banco de dados:

Criando um banco de dados Postgres.
Criando um banco de dados Postgres.

Agora, crie mais dois bancos de dados, customers e employees, com estes comandos:

CREATE DATABASE customers;
CREATE DATABASE employees;

Agora, você estabeleceu três bancos de dados em seu servidor Postgres local. Para listar todos os bancos de dados que você criou, use este metacomando:

\l
Bancos de dados no servidor Postgres local.
Bancos de dados no servidor Postgres local.

Esses são os três bancos de dados que você criou até agora! Você pode ignorar os outros bancos de dados na imagem, pois esses bancos de dados vêm com a instalação do Postgres por padrão.

Agora, você pode se conectar a um banco de dados específico. O metacomando para você se conectar a qualquer banco de dados é \c <database-name>.

Execute o seguinte comando para que você se conecte ao banco de dados sales:

\c sales

A seguinte mensagem deve aparecer no terminal:

Conectando-se a um banco de dados.
Conectando-se a um banco de dados.

Uma vez conectado a um banco de dados, você pode facilmente alternar para outro banco de dados no servidor com o mesmo comando. Assim, do banco de dados sales, você pode executar o seguinte comando para se conectar ao banco de dados customers:

\c customers

Criar tabelas

Para começar, você precisará criar tabelas para preencher o banco de dados com dados. A sintaxe para criar uma tabela no Postgres segue esta estrutura:

CREATE TABLE <table-name> (
<column1-name> <column1-datatype> <column1-constraint>,
<column2-name> <column2-datatype> <column2-constraint>,
<column3-name> <column3-datatype> <column3-constraint>,
…
…
<columnN-name> <columnN-datatype> <columnN-constraint>
);

Comece conectando-se ao banco de dados sales.

\c sales

Em seguida, crie a tabela products com três colunas que não podem ser nulas: product_id, product_name, e quantity_sold:

CREATE TABLE products(
   Product_id			INT     NOT NULL,
   Product_name		TEXT    NOT NULL,
   Quantity_sold		   INT     NOT NULL
);

Você verá o seguinte resultado se a operação for bem-sucedida:

Criando tabelas em um banco de dados.
Criando tabelas em um banco de dados.

Em seguida, use o metacomando abaixo para verificar se você criou com êxito a tabela products:

\dt

Esse comando lista todas as tabelas em seu banco de dados – nesse caso, uma tabela. Como você está conectado ao banco de dados sales, deverá ver o seguinte resultado:

Tabelas no banco de dados de vendas.
Tabelas no banco de dados de vendas.

Em seguida, crie duas tabelas no banco de dados employees. A primeira tabela listará os salários e a segunda listará os endereços. Para criar essas tabelas, execute os comandos abaixo:

\c employees

CREATE TABLE salary(
   Employee_id		INT     NOT NULL,
   Employee_name		TEXT    NOT NULL,
   Employee_salary		INT     NOT NULL
);

CREATE TABLE address(
   Employee_id		INT     NOT NULL,
   Employee_country		TEXT    NOT NULL,
   Employee_zipcode		INT     NOT NULL
);

Por fim, confirme que você criou essas tabelas executando o metacomando \dt. Esta é a saída que você deve ver:

Tabelas no banco de dados de funcionários.
Tabelas no banco de dados de funcionários.

Como excluir bancos de dados Postgres

Excluir um banco de dados é tão fácil quanto criar um. A sintaxe para excluir um banco de dados é DROP DATABASE <database-name>;.

Você não precisa se conectar a um banco de dados específico para excluí-lo. Portanto, se quiser excluir o banco de dados customers, você pode executar esse comando em qualquer banco de dados ao qual esteja conectado:

DROP DATABASE customers;

Você deverá ver esta tela quando a exclusão for bem-sucedida:

Excluindo um banco de dados Postgres.
Excluindo um banco de dados Postgres.

Você pode confirmar que o banco de dados customers não existe mais, listando os bancos de dados no servidor Postgres local usando o metacomando \l.

Listando os bancos de dados no servidor Postgres local.
Listando os bancos de dados no servidor Postgres local.

Como lidar com as operações do banco de dados Postgres com o Adminer

Neste ponto, você aprendeu os fundamentos do Postgres criando bancos de dados, criando tabelas e excluindo bancos de dados por meio da linha de comando.

Entretanto, a linha de comando pode ser intimidadora ou tediosa para você usar. É aí que uma ferramenta de administração de banco de dados como o Adminer pode ajudar. Você pode executar todas as operações de banco de dados acima por meio de uma GUI com o Adminer. Embora você possa usar o Adminer de forma independente, ele também é um componente padrão no DevKinsta.

Você também precisará baixar o arquivo Adminer PHP para gerenciar seu banco de dados com o Adminer. Abra o terminal uma vez para iniciar o servidor web integrado que executa arquivos PHP e navegue até o local onde você colocou o arquivo Adminer PHP:

cd path/to/Adminer php file 

Em seguida, inicie o servidor web usando o seguinte comando:

php -S 127.0.0.1:8000

Você está pronto para usar a interface do usuário do Adminer em seu navegador web. Digite o seguinte endereço em seu navegador web: http://localhost:8000/<your-Adminer-php-file.php>

Você deverá ver a interface de usuário (UI) do Adminer no navegador web:

UI da página inicial do Adminer.
Interface do usuário (UI) da página inicial do Adminer.

Para inserir seu servidor Postgres local, siga as instruções abaixo e preencha os campos dessa página:

  1. Selecione PostgreSQL para o campo Sistema.
  2. O servidor deve ser preenchido previamente como localhost.
  3. Em Username (Nome de usuário), digite o nome do superusuário, seja “postgres” ou o nome de usuário do sistema operacional do seu computador.
  4. Para Password (Senha), digite a senha definida para o superusuário na seção “Create Databases” (Criar bancos de dados).
  5. Deixe o campo Database (Banco de dados) vazio.

Quando a autenticação for bem-sucedida, você verá a lista de todos os bancos de dados que criou anteriormente, conforme mostrado abaixo. Se estiver trabalhando com o Windows, você poderá encontrar um erro que diz: “None of the supported PHP extensions (PgSQL, PDO_PgSQL) is available.” Se isso ocorrer, edite o arquivo php.ini e ative essas extensões.

Como você pode visualizar bancos de dados Postgres no Adminer.
Como você pode visualizar bancos de dados Postgres no Adminer.

Para criar um novo banco de dados, clique no hiperlink Create database:

Criando um novo banco de dados com o Adminer.
Criando um novo banco de dados com o Adminer.

Dê ao seu banco de dados o nome de customers e clique no botão Save.

Em seguida, verifique se você criou o banco de dados customers clicando no hiperlink Server, indicado abaixo:

Navegando até o servidor Postgres local.
Navegando até o servidor Postgres local.

Você verá o banco de dados customers agora. Clique em customers para se conectar a ele.

Como você pode ver, não há tabelas nesse banco de dados. Clique no hiperlink Create table para criar uma nova tabela, chamada locations.

Ao criar uma tabela em um banco de dados com o Adminer.
Criando uma tabela em um banco de dados com o Adminer.

Preencha as colunas apropriadas conforme a imagem abaixo e clique no botão Save:

A etapa final para criar uma tabela em um banco de dados.
A etapa final para criar uma tabela em um banco de dados.

Agora você deve conseguir ver a tabela no banco de dados customers:

Mensagem de confirmação para a criação de uma tabela.
Mensagem de confirmação para a criação de uma tabela.

Clique novamente no hiperlink Server para ver todos os seus bancos de dados. Marque a caixa de seleção dos clientes. Ao marcar o banco de dados customers, você ativará o botão de exclusão abaixo. Clique em drop para excluir o banco de dados. Você receberá uma confirmação sobre a operação de exclusão do banco de dados:

Mensagem de confirmação sobre a exclusão de um banco de dados.
Mensagem de confirmação sobre a exclusão de um banco de dados.

Resumo

Agora você aprendeu a criar bancos de dados, criar tabelas no banco de dados e excluir bancos de dados no servidor Postgres local por meio da linha de comando. Além disso, você aprendeu como é fácil executar essas tarefas usando uma ferramenta de administração de banco de dados como o Adminer.

Embora esses e outros métodos de linha de comando de gerenciamento de bancos de dados e tabelas sejam funcionais, a interface de usuário de apontar e clicar do Adminer torna a execução dessas tarefas ainda mais simples.

Como desenvolvedor de WordPress, o DevKinsta dá a você acesso ao Adminer e a uma infinidade de outras ferramentas para ajudá-lo a gerenciar seus bancos de dados. Para gerenciar facilmente seus bancos de dados Postgres, confira o DevKinsta – é grátis para sempre!

Jeremy Holcombe Kinsta

Editor de Conteúdo & Marketing na Kinsta, Desenvolvedor Web WordPress e Escritor de Conteúdo. Fora do universo WordPress, eu curto praia, golfe e filmes. Também enfrento problemas de gente alta ;).