Noções Básicas de Gerenciamento de Banco de Dados com PostgreSQL

PostgreSQLPostgreSQLBeginner
Pratique Agora

💡 Este tutorial foi traduzido do inglês com assistência de IA. Para ver o original, você pode mudar para a versão em inglês

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.

Este é um Lab Guiado, que fornece instruções passo a passo para ajudá-lo a aprender e praticar. Siga as instruções cuidadosamente para completar cada etapa e ganhar experiência prática. Dados históricos mostram que este é um laboratório de nível iniciante com uma taxa de conclusão de 92.16%. Recebeu uma taxa de avaliações positivas de 97.14% dos estudantes.

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL postgresql(("PostgreSQL")) -.-> postgresql/PostgreSQLGroup(["PostgreSQL"]) postgresql/PostgreSQLGroup -.-> postgresql/db_setup("Create New Database") postgresql/PostgreSQLGroup -.-> postgresql/db_access("Connect To Database") postgresql/PostgreSQLGroup -.-> postgresql/data_all("Select All Data") postgresql/PostgreSQLGroup -.-> postgresql/sys_version("Get Server Version") postgresql/PostgreSQLGroup -.-> postgresql/db_drop("Drop Entire Database") subgraph Lab Skills postgresql/db_setup -.-> lab-550899{{"Noções Básicas de Gerenciamento de Banco de Dados com PostgreSQL"}} postgresql/db_access -.-> lab-550899{{"Noções Básicas de Gerenciamento de Banco de Dados com PostgreSQL"}} postgresql/data_all -.-> lab-550899{{"Noções Básicas de Gerenciamento de Banco de Dados com PostgreSQL"}} postgresql/sys_version -.-> lab-550899{{"Noções Básicas de Gerenciamento de Banco de Dados com PostgreSQL"}} postgresql/db_drop -.-> lab-550899{{"Noções Básicas de Gerenciamento de Banco de Dados com PostgreSQL"}} end

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.

  1. Abra um terminal: Se você ainda não tiver um aberto, inicie uma janela de terminal.

  2. Crie um novo banco de dados: Use o comando createdb seguido pelo nome que você deseja dar ao seu banco de dados. Por exemplo, para criar um banco de dados chamado mydatabase, execute o seguinte comando:

    createdb mydatabase

    Este comando criará um novo banco de dados chamado mydatabase. Se o comando for bem-sucedido, você não verá nenhuma saída.

  3. 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ão postgres:

    psql -d postgres

    Você será apresentado com o prompt postgres=#.

  4. Listar bancos de dados: No prompt postgres=#, execute o seguinte comando SQL para listar todos os bancos de dados:

    \l
    Lista de bancos de dados no PostgreSQL

    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 mydatabase está na lista.

  5. Sair do psql: Para sair do prompt psql, digite:

    \q

    e 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.

  1. Abra um terminal: Se você ainda não tiver um aberto, inicie uma janela de terminal.

  2. Listar bancos de dados disponíveis: Para listar todos os bancos de dados, você pode usar o comando psql com 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, o psql tentará se conectar usando seu nome de usuário atual.

    psql -l

    Este 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 mydatabase que você criou na etapa anterior.

  3. Conectar-se a um banco de dados específico: Para conectar-se a um banco de dados específico, use o comando psql com a opção -d, seguido pelo nome do banco de dados. Por exemplo, para conectar-se ao banco de dados mydatabase, execute o seguinte comando:

    psql -d mydatabase

    Se a conexão for bem-sucedida, você será apresentado com o prompt mydatabase=#. Isso indica que você está agora conectado ao banco de dados mydatabase.

  4. 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();
    Saída do comando 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)
  5. Sair do psql: Para sair do prompt psql, digite:

    \q

    e 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.

Remover 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.

  1. Abra um terminal: Se você ainda não tiver um aberto, inicie uma janela de terminal.

  2. Remover o banco de dados: Use o comando dropdb seguido pelo nome do banco de dados que você deseja remover. Por exemplo, para remover o banco de dados mydatabase, execute o seguinte comando:

    dropdb mydatabase

    Este 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 dropdb pode falhar.

  3. 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ão postgres:

    psql -d postgres
    Prompt após conectar ao postgres

    Você será apresentado com o prompt postgres=#.

  4. 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. Verifique se mydatabase nã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 mydatabase não estiver listado, ele foi removido com sucesso.

  5. Sair do psql: Para sair do prompt psql, digite:

    \q

    e 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.

  1. Abra um terminal: Se você ainda não tiver um aberto, inicie uma janela de terminal.

  2. Conecte-se ao banco de dados postgres: Como removemos mydatabase na etapa anterior, vamos nos conectar ao banco de dados padrão postgres para explorar os metadados.

    psql -d postgres

    Você será apresentado com o prompt postgres=#.

  3. Listar tabelas: Para listar todas as tabelas no banco de dados atualmente conectado, você pode usar o comando \dt.

    \dt

    Como 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.

  4. Descrever uma tabela: Para visualizar informações detalhadas sobre uma tabela específica, você pode usar o comando \d seguido 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
    Estrutura da saída da tabela 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)
  5. Sair do psql: Para sair do prompt psql, digite:

    \q

    e 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.

OSZAR »