Instalação e Configuração Inicial do PostgreSQL

PostgreSQLPostgreSQLIntermediate
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, vamos instalar e realizar a configuração inicial do PostgreSQL na VM do LabEx. O objetivo é colocar o PostgreSQL em funcionamento e verificar sua funcionalidade básica.

Começaremos atualizando as listas de pacotes e instalando o servidor PostgreSQL juntamente com o pacote postgresql-contrib. Após a instalação, verificaremos se o serviço PostgreSQL está em execução e aceitando conexões usando o comando pg_isready. Por fim, exploraremos os bancos de dados padrão e verificaremos o status do servidor e a configuração básica.

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 intermediário com uma taxa de conclusão de 72.9%. Recebeu uma taxa de avaliações positivas de 100% 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/db_status("Check Database Status") postgresql/PostgreSQLGroup -.-> postgresql/sys_version("Get Server Version") subgraph Lab Skills postgresql/db_setup -.-> lab-550900{{"Instalação e Configuração Inicial do PostgreSQL"}} postgresql/db_access -.-> lab-550900{{"Instalação e Configuração Inicial do PostgreSQL"}} postgresql/db_status -.-> lab-550900{{"Instalação e Configuração Inicial do PostgreSQL"}} postgresql/sys_version -.-> lab-550900{{"Instalação e Configuração Inicial do PostgreSQL"}} end

Instalar PostgreSQL e Verificar a Instalação

Nesta etapa, vamos instalar o PostgreSQL na VM do LabEx e verificar se a instalação foi bem-sucedida. PostgreSQL é um poderoso sistema de gerenciamento de banco de dados relacional (SGBDR, ou RDBMS em inglês) de código aberto.

Primeiro, vamos atualizar as listas de pacotes para atualizações e novas instalações. Abra um terminal na VM do LabEx. Você pode encontrar o ícone do terminal na área de trabalho.

Execute o seguinte comando:

sudo apt update

Este comando atualiza a lista de pacotes disponíveis e suas versões, mas não instala ou atualiza nenhum pacote. Você deve ver uma saída indicando que as listas de pacotes estão sendo atualizadas.

Em seguida, instale o servidor PostgreSQL e o pacote postgresql-contrib. O pacote postgresql-contrib fornece utilitários e funcionalidades adicionais que são frequentemente úteis.

Execute o seguinte comando:

sudo apt install postgresql postgresql-contrib -y
PostgreSQL installation progress

A flag -y responde automaticamente "sim" a quaisquer prompts durante o processo de instalação. Este comando irá baixar e instalar o PostgreSQL e seus pacotes relacionados. Você verá muita saída à medida que os pacotes são baixados e instalados.

Após a conclusão da instalação, precisamos verificar se o PostgreSQL está em execução. O PostgreSQL deve iniciar automaticamente após a instalação.

Para verificar o status do serviço PostgreSQL, execute o seguinte comando:

sudo service postgresql status

Também podemos usar o comando pg_isready para verificar se o servidor PostgreSQL está em execução e aceitando conexões.

Execute o seguinte comando:

pg_isready

Se o PostgreSQL estiver em execução, você deverá ver a seguinte saída:

/var/run/postgresql:5432 - accepting connections

Se o PostgreSQL não estiver em execução, você poderá ver uma mensagem de erro como:

/var/run/postgresql:5432 - no response

Se você encontrar o erro "no response", tente reiniciar o serviço PostgreSQL. Você pode tentar o seguinte comando:

sudo service postgresql restart

Em seguida, execute pg_isready novamente para verificar o status.

PostgreSQL installation verification

Se pg_isready mostrar "accepting connections", isso confirma que o PostgreSQL foi instalado e está em execução com sucesso.

Acessar o Shell do PostgreSQL (psql)

Nesta etapa, acessaremos o shell do PostgreSQL, psql, que é uma ferramenta de linha de comando para interagir com bancos de dados PostgreSQL. psql permite que você execute consultas SQL, gerencie bancos de dados e execute outras tarefas administrativas.

Por padrão, o PostgreSQL cria um usuário Unix chamado postgres que corresponde ao superusuário do PostgreSQL. Para acessar o shell psql, você pode alternar para o usuário postgres ou usar sudo para executar comandos como o usuário postgres.

Primeiro, vamos alternar para o usuário postgres. Execute o seguinte comando:

sudo -i -u postgres

Este comando alterna o usuário atual para postgres. Você notará que o prompt muda para refletir o novo usuário.

Agora que você está logado como o usuário postgres, você pode acessar o shell psql. Execute o seguinte comando:

psql

Este comando abrirá o shell psql. Você deve ver um prompt que se parece com isto:

postgres=#

Isso indica que você está conectado ao servidor PostgreSQL e agora pode executar comandos SQL.

Para sair do shell psql, digite \q e pressione Enter:

postgres=## \q

Isso o retornará ao shell do usuário postgres.

Para sair do shell do usuário postgres e retornar ao seu usuário original (labex), digite exit e pressione Enter:

exit

Alternativamente, você pode acessar o shell psql diretamente como o usuário labex usando sudo. Isso evita a necessidade de alternar usuários.

PostgreSQL psql shell access

Execute o seguinte comando:

sudo -u postgres psql

Este comando executa o comando psql como o usuário postgres. Você estará conectado diretamente ao shell psql.

Novamente, para sair do shell psql, digite \q e pressione Enter:

postgres=## \q

Isso o retornará ao shell do usuário labex.

Em resumo, você aprendeu duas maneiras de acessar o shell psql: alternando para o usuário postgres e usando sudo. Ambos os métodos alcançam o mesmo resultado, mas usar sudo pode ser mais conveniente em alguns casos.

Explorar Bancos de Dados Padrão

Nesta etapa, exploraremos os bancos de dados padrão que são criados quando você instala o PostgreSQL. Esses bancos de dados fornecem funcionalidade essencial e informações sobre o servidor PostgreSQL.

Primeiro, acesse o shell psql como o usuário postgres. Você pode usar o seguinte comando:

sudo -u postgres psql

Depois de estar no shell psql, você pode listar os bancos de dados disponíveis usando o comando \l. Execute o seguinte comando:

postgres=## \l

Este comando exibirá uma lista de bancos de dados, juntamente com informações sobre seus proprietários, codificações e privilégios de acesso. Você deve ver pelo menos três bancos de dados:

  • postgres: Este é o banco de dados padrão ao qual você se conecta quando acessa o shell psql pela primeira vez. Ele é frequentemente usado para tarefas administrativas.
  • template0: Este banco de dados é usado como um modelo para criar novos bancos de dados. Você não deve modificar este banco de dados.
  • template1: Este é outro banco de dados de modelo que é usado para criar novos bancos de dados. É um modelo padrão e pode ser personalizado.
List of available PostgreSQL databases

Para conectar-se a um banco de dados específico, você pode usar o comando \c seguido pelo nome do banco de dados. Por exemplo, para conectar-se ao banco de dados postgres, execute o seguinte comando:

postgres=## \c postgres

Você deve ver uma mensagem indicando que agora está conectado ao banco de dados postgres:

You are now connected to database "postgres" as user "postgres".

Agora que você está conectado ao banco de dados postgres, você pode explorar seu conteúdo. Por exemplo, você pode listar as tabelas no banco de dados usando o comando \dt:

postgres=## \dt

Este comando exibirá uma lista de tabelas no banco de dados atual. Como o banco de dados postgres é usado principalmente para tarefas administrativas, ele pode não conter nenhuma tabela definida pelo usuário.

Você também pode visualizar informações sobre a conexão atual do banco de dados usando o comando \conninfo:

postgres=## \conninfo

Este comando exibirá informações como o nome do banco de dados, usuário, host e porta.

Para desconectar do banco de dados atual e retornar à conexão padrão, você pode usar o comando \c sem especificar um nome de banco de dados:

postgres=## \c

Isso o conectará de volta ao banco de dados padrão, que geralmente é o banco de dados postgres.

psql command listing databases

Finalmente, saia do shell psql digitando \q e pressionando Enter:

postgres=## \q

Isso o retornará ao shell do usuário labex.

Nesta etapa, você aprendeu como listar os bancos de dados disponíveis, conectar-se a um banco de dados específico e explorar seu conteúdo usando o shell psql.

Verificar o Status do Servidor e a Configuração Básica

Nesta etapa, verificaremos o status do servidor PostgreSQL e exploraremos algumas configurações básicas.

Como mencionado anteriormente, como a VM LabEx é executada em um contêiner Docker, os comandos systemctl podem não funcionar como esperado. Usaremos principalmente pg_isready e psql para verificar o status do servidor.

Primeiro, vamos reverificar se o servidor PostgreSQL está em execução. Execute o seguinte comando:

pg_isready

Se o PostgreSQL estiver em execução, você deverá ver a seguinte saída:

/var/run/postgresql:5432 - accepting connections

Em seguida, vamos verificar algumas configurações básicas usando o shell psql. Acesse o shell psql como o usuário postgres:

sudo -u postgres psql

Depois de estar no shell psql, você pode verificar a versão do PostgreSQL usando a seguinte consulta SQL:

SELECT version();

Execute esta consulta no shell psql. Você deve ver uma saída semelhante a:

                                                                version
----------------------------------------------------------------------------------------------------------------------------------------
 PostgreSQL 14.17 (Ubuntu 14.17-0ubuntu0.22.04.1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0, 64-bit
(1 row)

Isso mostra a versão do PostgreSQL instalada no servidor.

Você também pode verificar o usuário atual do banco de dados:

SELECT user;

A saída será:

  user
----------
 postgres
(1 row)

Para verificar o nome do banco de dados ao qual você está conectado no momento, use:

SELECT current_database();

A saída será:

 current_database
------------------
 postgres
(1 row)

Para visualizar as configurações de configuração, você pode usar o comando SHOW. Por exemplo, para verificar a configuração listen_addresses, que especifica os endereços IP nos quais o servidor escuta as conexões, execute o seguinte comando:

SHOW listen_addresses;

A saída provavelmente será:

 listen_addresses
--------------------
 *
(1 row)

O * indica que o servidor está ouvindo em todos os endereços IP disponíveis.

Outra configuração útil para verificar é port, que especifica o número da porta na qual o servidor escuta as conexões:

SHOW port;

A saída será:

 port
------
 5432
(1 row)

Isso indica que o servidor está ouvindo na porta 5432, que é a porta padrão do PostgreSQL.

PostgreSQL psql shell output

Finalmente, saia do shell psql digitando \q e pressionando Enter:

postgres=## \q

Isso o retornará ao shell do usuário labex.

Nesta etapa, você aprendeu como verificar o status do servidor PostgreSQL e explorar algumas configurações básicas usando pg_isready e o shell psql.

Resumo

Neste laboratório, instalamos o SGBD PostgreSQL na VM LabEx usando apt update e apt install postgresql postgresql-contrib -y. A flag -y foi usada para aceitar automaticamente os prompts durante a instalação.

Após a instalação, verificamos se o serviço PostgreSQL estava em execução e aceitando conexões. Devido à VM LabEx ser executada em um contêiner Docker, usamos o comando pg_isready em vez de systemctl status postgresql para verificar o status do servidor. A saída esperada de pg_isready quando o servidor está em execução é /var/run/postgresql:5432 - accepting connections.

OSZAR »