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:
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:
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:
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
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:
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:
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:
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:
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:
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
.
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:
Para inserir seu servidor Postgres local, siga as instruções abaixo e preencha os campos dessa página:
- Selecione PostgreSQL para o campo Sistema.
- O servidor deve ser preenchido previamente como localhost.
- 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.
- Para Password (Senha), digite a senha definida para o superusuário na seção “Create Databases” (Criar bancos de dados).
- 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.
Para criar um novo banco de dados, clique no hiperlink Create database:
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:
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
.
Preencha as colunas apropriadas conforme a imagem abaixo e clique no botão Save:
Agora você deve conseguir ver a tabela no banco de dados customers
:
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:
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!
Deixe um comentário