Introdução
Neste laboratório, você aprenderá os fundamentos da gestão de banco de dados usando PostgreSQL. O laboratório cobre operações essenciais para gerenciar bancos de dados, incluindo a criação de novos bancos de dados, listagem e conexão a bancos de dados existentes e remoção de bancos de dados quando eles não são mais necessários.
Você começará criando um novo banco de dados usando o comando createdb e verificando sua criação através do comando psql. Em seguida, você aprenderá como listar todos os bancos de dados disponíveis e conectar-se a um banco de dados específico. Finalmente, você explorará como remover um banco de dados (drop database) e visualizar metadados do banco de dados. Este laboratório fornece uma introdução prática às tarefas básicas de administração de banco de dados no PostgreSQL.
Criar um Novo Banco de Dados
Nesta etapa, você aprenderá como criar um novo banco de dados no PostgreSQL. Criar um banco de dados é o primeiro passo para organizar e armazenar seus dados.
Antes de começarmos, vamos entender o que é um banco de dados. Um banco de dados é uma coleção estruturada de dados que é organizada para fácil acesso, gerenciamento e atualização. No PostgreSQL, um banco de dados é um contêiner para tabelas, visões (views) e outros objetos de banco de dados.
Para criar um novo banco de dados, você usará o comando createdb. Este comando é um wrapper em torno do comando SQL CREATE DATABASE.
Abra um terminal: Se você ainda não tiver um aberto, inicie uma janela de terminal.
Crie um novo banco de dados: Use o comando
createdbseguido pelo nome que você deseja dar ao seu banco de dados. Por exemplo, para criar um banco de dados chamadomydatabase, execute o seguinte comando:createdb mydatabaseEste comando criará um novo banco de dados chamado
mydatabase. Se o comando for bem-sucedido, você não verá nenhuma saída.Verifique a criação do banco de dados: Para confirmar que o banco de dados foi criado, você pode listar todos os bancos de dados usando o comando
psql. Primeiro, conecte-se ao banco de dados padrãopostgres:psql -d postgresVocê será apresentado com o prompt
postgres=#.Listar bancos de dados: No prompt
postgres=#, execute o seguinte comando SQL para listar todos os bancos de dados:\l
Este comando exibirá uma lista de bancos de dados, incluindo o que você acabou de criar (
mydatabase). Você deve ver uma saída semelhante a esta:List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+-------------+-------------+----------------------- mydatabase| labex | UTF8 | en_US.UTF-8 | en_US.UTF-8 | postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres (4 rows)Observe que
mydatabaseestá na lista.Sair do psql: Para sair do prompt
psql, digite:\qe pressione Enter. Você retornará ao prompt regular do terminal.
Você agora criou com sucesso um novo banco de dados no PostgreSQL.
Listar e Conectar a Bancos de Dados
Nesta etapa, você aprenderá como listar os bancos de dados disponíveis e conectar-se a um banco de dados específico usando a ferramenta de linha de comando psql.
Abra um terminal: Se você ainda não tiver um aberto, inicie uma janela de terminal.
Listar bancos de dados disponíveis: Para listar todos os bancos de dados, você pode usar o comando
psqlcom a opção-l(que é um 'L' minúsculo). Esta opção lista todos os bancos de dados no servidor. Como você não especificou um banco de dados para se conectar, opsqltentará se conectar usando seu nome de usuário atual.psql -lEste comando exibirá uma lista de bancos de dados, juntamente com seus proprietários, codificações e outras informações. Você deve ver uma saída semelhante a esta:
List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+-------------+-------------+----------------------- mydatabase| labex | UTF8 | en_US.UTF-8 | en_US.UTF-8 | postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres (4 rows)Esta saída mostra os nomes dos bancos de dados, seus proprietários e outros detalhes. Você deve ver o banco de dados
mydatabaseque você criou na etapa anterior.Conectar-se a um banco de dados específico: Para conectar-se a um banco de dados específico, use o comando
psqlcom a opção-d, seguido pelo nome do banco de dados. Por exemplo, para conectar-se ao banco de dadosmydatabase, execute o seguinte comando:psql -d mydatabaseSe a conexão for bem-sucedida, você será apresentado com o prompt
mydatabase=#. Isso indica que você está agora conectado ao banco de dadosmydatabase.Verificar a conexão: Para verificar se você está conectado ao banco de dados correto, você pode executar um comando SQL simples, como:
SELECT version();
Este comando exibirá a versão do servidor PostgreSQL ao qual você está conectado. A saída terá uma aparência semelhante a esta:
version ---------------------------------------------------------------------------------------------------------------- PostgreSQL 14.7 (Debian 14.7-1.pgdg110+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit (1 row)Sair do psql: Para sair do prompt
psql, digite:\qe pressione Enter. Você retornará ao prompt regular do terminal.
Você agora listou com sucesso os bancos de dados disponíveis e se conectou a um banco de dados específico usando psql.
Excluir um Banco de Dados
Nesta etapa, você aprenderá como remover (excluir) um banco de dados no PostgreSQL. Remover um banco de dados é uma ação permanente, por isso é importante ter cuidado ao usar este comando. Todos os dados dentro do banco de dados serão perdidos.
Abra um terminal: Se você ainda não tiver um aberto, inicie uma janela de terminal.
Remover o banco de dados: Use o comando
dropdbseguido pelo nome do banco de dados que você deseja remover. Por exemplo, para remover o banco de dadosmydatabase, execute o seguinte comando:dropdb mydatabaseEste comando removerá o banco de dados
mydatabase. Se o comando for bem-sucedido, você não verá nenhuma saída.Importante: Antes de remover um banco de dados, certifique-se de que ninguém esteja conectado a ele. Se houver conexões ativas, o comando
dropdbpode falhar.Verificar a exclusão do banco de dados: Para confirmar que o banco de dados foi removido, você pode listar todos os bancos de dados usando o comando
psql. Primeiro, conecte-se ao banco de dados padrãopostgres:psql -d postgres
Você será apresentado com o prompt
postgres=#.Listar bancos de dados: No prompt
postgres=#, execute o seguinte comando SQL para listar todos os bancos de dados:\lEste comando exibirá uma lista de bancos de dados. Verifique se
mydatabasenão está mais na lista.List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+-------------+-------------+----------------------- postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres (3 rows)Se
mydatabasenão estiver listado, ele foi removido com sucesso.Sair do psql: Para sair do prompt
psql, digite:\qe pressione Enter. Você retornará ao prompt regular do terminal.
Você agora removeu com sucesso um banco de dados no PostgreSQL. Lembre-se de ter cautela ao remover bancos de dados, pois esta ação é irreversível.
Visualizar Metadados do Banco de Dados
Nesta etapa, você aprenderá como visualizar metadados do banco de dados no PostgreSQL. Metadados são "dados sobre dados". No contexto de um banco de dados, metadados descrevem a estrutura e as características do próprio banco de dados, incluindo informações sobre tabelas, colunas, tipos de dados e restrições.
Abra um terminal: Se você ainda não tiver um aberto, inicie uma janela de terminal.
Conecte-se ao banco de dados
postgres: Como removemosmydatabasena etapa anterior, vamos nos conectar ao banco de dados padrãopostgrespara explorar os metadados.psql -d postgresVocê será apresentado com o prompt
postgres=#.Listar tabelas: Para listar todas as tabelas no banco de dados atualmente conectado, você pode usar o comando
\dt.\dtComo ainda não criamos nenhuma tabela, a saída deve estar vazia ou mostrar tabelas do sistema. Pode ser assim:
Did not find any relations.ou
List of relations Schema | Name | Type | Owner --------+-----------------------+-------+---------- pg_catalog | pg_aggregate | table | postgres pg_catalog | pg_am | table | postgres pg_catalog | pg_amop | table | postgres ...A saída mostra o esquema (schema), nome, tipo e proprietário de cada tabela.
Descrever uma tabela: Para visualizar informações detalhadas sobre uma tabela específica, você pode usar o comando
\dseguido pelo nome da tabela. Como não temos uma tabela criada pelo usuário, vamos examinar uma tabela do sistema, por exemplo,pg_class.\d pg_class
Este comando exibirá a estrutura da tabela
pg_class, incluindo nomes de colunas, tipos de dados e quaisquer restrições. A saída será bastante extensa, mas fornece uma visão geral abrangente da definição da tabela.Table "pg_catalog.pg_class" Column | Type | Collation | Nullable | Default | Storage | Stats target | Description -------------------+-----------+-----------+----------+---------+----------+--------------+------------- oid | oid | | not null | | plain | | relname | name | | not null | | plain | | relnamespace | oid | | not null | | plain | | reltype | oid | | not null | | plain | | reloftype | oid | | not null | | plain | | relowner | oid | | not null | | plain | | relam | oid | | not null | | plain | | relfilenode | oid | | not null | | plain | | reltablespace | oid | | not null | | plain | | relpages | integer | | not null | | plain | | reltuples | real | | not null | | plain | | relallvisible | boolean | | not null | | plain | | reltoastrelid | oid | | not null | | plain | | relhasindex | boolean | | not null | | plain | | relhasrules | boolean | | not null | | plain | | relhastriggers | boolean | | not null | | plain | | relhassubclass | boolean | | not null | | plain | | relrowsecurity | boolean | | not null | | plain | | relforcerowsecurity| boolean | | not null | | plain | | relispopulated | boolean | | not null | | plain | | relreplident | character | | not null | | plain | | relispartition | boolean | | not null | | plain | | relrewrite | oid | | not null | | plain | | relacl | aclitem[] | | | | plain | | reloptions | text[] | | | | plain | | relpartbound | pg_node_tree | | | | extended | | Indexes: "pg_class_oid_index" UNIQUE, btree (oid) "pg_class_relname_nsp_index" UNIQUE, btree (relname, relnamespace) Foreign-key constraints: "pg_class_relam_fkey" FOREIGN KEY (relam) REFERENCES pg_am(oid) "pg_class_relnamespace_fkey" FOREIGN KEY (relnamespace) REFERENCES pg_namespace(oid) "pg_class_relowner_fkey" FOREIGN KEY (relowner) REFERENCES pg_authid(oid) "pg_class_reltoastrelid_fkey" FOREIGN KEY (reltoastrelid) REFERENCES pg_class(oid) Referenced by: TABLE "pg_statistic_ext" CONSTRAINT "pg_statistic_ext_relid_fkey" FOREIGN KEY (relid) REFERENCES pg_class(oid) TABLE "pg_rewrite" CONSTRAINT "pg_rewrite_ev_class_fkey" FOREIGN KEY (ev_class) REFERENCES pg_class(oid) TABLE "pg_trigger" CONSTRAINT "pg_trigger_tgrelid_fkey" FOREIGN KEY (tgrelid) REFERENCES pg_class(oid)Sair do psql: Para sair do prompt
psql, digite:\qe pressione Enter. Você retornará ao prompt regular do terminal.
Você agora visualizou com sucesso os metadados do banco de dados no PostgreSQL usando psql. Isso permite que você entenda a estrutura e as propriedades de seus bancos de dados e tabelas.
Resumo
Neste laboratório, você aprendeu os conceitos básicos de gerenciamento de banco de dados no PostgreSQL, começando com a criação de um novo banco de dados. O processo envolve o uso do comando createdb seguido pelo nome do banco de dados desejado no terminal. A execução bem-sucedida cria o banco de dados sem qualquer saída.
Para verificar a criação, você se conecta ao banco de dados padrão postgres usando psql -d postgres e, em seguida, usa o comando \l para listar todos os bancos de dados disponíveis, confirmando que o banco de dados recém-criado está presente.


