Como gerenciar bancos de dados no PostgreSQL
O PostgreSQL, geralmente chamado de “Postgres”, é um sistema de gerenciamento de banco de dados relacional avançado e de código aberto. O gerenciamento de bancos de dados no PostgreSQL envolve tarefas como criação, modificação e exclusão de bancos de dados, tabelas e permissões de usuário. Este guia o guiará pelos comandos essenciais de gerenciamento de banco de dados do PostgreSQL.
1. Acessando a linha de comando do PostgreSQL
Para gerenciar bancos de dados PostgreSQL, primeiro acesse a interface de linha de comando (CLI) do PostgreSQL. Por padrão, o PostgreSQL usa a conta de usuário postgres.
Etapa 1: mudar para o usuário do PostgreSQL
sudo -i -u postgres
Etapa 2: acessar a CLI do PostgreSQL
psql
Uma vez na CLI, você verá o prompt postgres=#, indicando que está no ambiente do PostgreSQL.
2. Criação de um novo banco de dados
Para criar um novo banco de dados, use o comando CREATE DATABASE. A sintaxe é a seguinte:
CREATE DATABASE nome_do_banco_de_dados;
Exemplo:
CREATE DATABASE my_database;
Isso cria um banco de dados chamado my_database. Para verificar, use:
\l
3. Criação e gerenciamento de usuários
Os usuários de banco de dados precisam de permissão para acessar e modificar bancos de dados. Veja a seguir como criar e gerenciar usuários no PostgreSQL.
Criar um novo usuário
CREATE USER username WITH PASSWORD 'password' (Criar nome de usuário com senha);
Exemplo:
CREATE USER dbuser WITH PASSWORD 'securepassword' (Criar usuário dbuser com senha 'securepassword');
Conceder acesso ao banco de dados
Para permitir que um usuário acesse e gerencie um banco de dados, use o comando GRANT:
GRANT ALL PRIVILEGES ON DATABASE database_name TO username;
Exemplo:
CONCEDER TODOS OS PRIVILÉGIOS NA BASE DE DADOS meu_banco_de_dados AO dbuser;
Isso concede ao dbuser acesso total ao my_database.
4. Conexão a um banco de dados
Para se conectar a um banco de dados específico, use o comando \c seguido do nome do banco de dados.
\c my_database
O prompt será alterado para indicar o banco de dados ativo, permitindo que você gerencie tabelas, insira dados e realize consultas.
5. Criação e gerenciamento de tabelas
As tabelas armazenam dados em um formato estruturado. Veja a seguir como criar, modificar e excluir tabelas no PostgreSQL.
Criar uma tabela
Use o comando CREATE TABLE para definir uma nova tabela e suas colunas:
CREATE TABLE table_name ( column1 data_type PRIMARY KEY, column2 data_type, column3 data_type );
Exemplo:
CREATE TABLE employees ( employee_id SERIAL PRIMARY KEY, name VARCHAR(100), department VARCHAR(50), salary NUMERIC );
Inserir dados em uma tabela
Insira registros usando a instrução INSERT INTO:
Consulta de dados
Recupere dados de uma tabela usando SELECT:
SELECT * FROM employees;
Atualizar dados
Para atualizar registros em uma tabela:
UPDATE employees SET salary = 55000 WHERE name = 'John Doe';
Excluir dados
Para excluir linhas específicas:
DELETE FROM employees WHERE name = 'John Doe';
6. Gerenciamento do acesso e da segurança do banco de dados
Para fins de segurança, conceda apenas os privilégios necessários aos usuários:
- Revogar acesso:
REVOGAR TODOS OS PRIVILÉGIOS NA BASE DE DADOS my_database FROM dbuser;
- Restringir permissões de tabela:
GRANT SELECT ON TABLE employees TO dbuser;
Isso permite que o usuário apenas visualize os dados da tabela de funcionários sem fazer alterações.
7. Backup e restauração de bancos de dados
O PostgreSQL oferece comandos para backup e restauração de bancos de dados.
Fazer backup de um banco de dados
Use o comando pg_dump para fazer backup de um banco de dados em um arquivo:
pg_dump my_database > my_database_backup.sql
Restaurar um banco de dados
Use o comando psql para restaurar um banco de dados a partir de um arquivo de backup:
psql meu_banco_de_dados < meu_banco_de_dados_backup.sql
8. Eliminação de bancos de dados e tabelas
Quando um banco de dados ou tabela não for mais necessário, use o comando DROP para excluí-lo.
Excluir uma tabela
DROP TABLE nome_da_tabela;
Exemplo:
DROP TABLE empregados;
Eliminar um banco de dados
Primeiro, saia do banco de dados (se estiver conectado) e, em seguida, descarte-o:
DROP DATABASE nome_do_banco_de_dados;
Exemplo:
DROP DATABASE my_database;
9. Sair do PostgreSQL
Para sair da interface de linha de comando do PostgreSQL, use:
\q
Conclusão
O gerenciamento de bancos de dados no PostgreSQL envolve a criação e a configuração de bancos de dados, a configuração de tabelas, o gerenciamento de usuários e a realização de backups. Ao dominar esses comandos, você pode gerenciar com eficiência os bancos de dados do PostgreSQL, garantindo a integridade e a segurança dos dados.