Aula 2 - Instalando o PostgreSQL 15.3 no Debian 12
Nesta aula, faremos a instalação do Sistema de Gerenciamento de Banco de Dados (SGBD) PostgreSQL no Debian 12 (bookworm).
Introdução
Os repositórios do Debian 12, por padrão, já vêm com uma versão estável do Postgresql disponível para instalação. Então se você abrir um terminal no seu Debian e digitar apt install postgresql, ele vai fazer a instalação normalmente.
Entretanto, caso você precise instalar uma versão diferente (uma versão mais antiga, por exemplo), é necessário configurar o repositório oficial do Postgresql. Dessa forma, faremos a configuração desse repositório.
Antes de iniciarmos, abra o site do Postgresql, na área de Downloads. Lá você obtém os caminhos para fazer o download dos pacotes (binários ou de código fonte), softwares adicionais, distribuições de terceiros, bem como as instruções para fazer a instalação.
Requisitos
Você precisará dos seguintes pacotes antes de instalar o postgresql:
- gnupg2 - GNU Privacy Guard: é a ferramenta usada para criptografar dados e para criar assinaturas digitais, bem como para fazer a gestão de chaves criptográficas.
- lsb-release: É uma ferramenta simples para ajudar a identificar a distribuição Linux que está sendo usada e sua compatibilidade com a Linux Standard Base.
- wget: É um utilitário de rede para recuperar arquivos da web usando HTTP(S) e FTP.
$ su -
Senha:
ou
$ sudo su -
Senha:
Em seguida:
# apt install gnupg2 lsb-release wget
Configuração do repositório e instalação do PostgreSQL
Crie o arquivo de configuração de repositório:
# sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
Importe a chave de assinatura do repositório:
# wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
Atualize as listas de pacote:
# apt update
Instale a versão mais recente do PostgreSQL. Se você quiser uma versão específica, use postgresql-número_da_versão
ou outro número de versão em vez de postgresql:
# apt -y install postgresql
Testando a instalação
Para testar a instalação, vamos acessar o banco de dados e emitir uma instrução SQL. Para fazer isso, primeiro você deve se autenticar com o usuário postgres do Linux, que é um usuário recém criado pelo PostgreSQL, durante o processo de instalação.
# su - postgres
Após isso, utilizaremos a ferramenta psql, que é um terminal interativo fornecido pelo pacote de aplicações cliente, também, durante a instalação do PostgreSQL. Ele permite que você entre, edite e execute comandos SQL interativamente.
$ psql -c “SELECT version();”
version
------------------------------------------------------------------------------------------
PostgreSQL 15.3 (Debian 15.3-1.pgdg110+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 202110110, 64-bit
(1 row)
q
No exemplo, executamos a função version(), por meio de uma instrução SQL, que exibe informações de versão da instalação.
Utilizamos a opção -c do psql para executar a instrução diretamente como um parâmetro do comando, ou seja, sem ter que entrar no prompt do psql e em seguida executar a instrução.
De qualquer forma, vamos executá-lo diretamente no prompt do psql:
$ psql
psql (15.3 (Debian 15.3-1.pgdg120+1))
Type “help” for help.
postgres=# SELECT version();
version
------------------------------------------------------------------------------------------
PostgreSQL 15.3 (Debian 15.3-1.pgdg110+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 202110110, 64-bit
(1 row)
q
Vamos digitar mais alguns comandos:
postgres=# \conninfo
You are connected to database “postgres” as user “postgres” via socket in “/var/run/postgresql” at port “5432”
Este comando exibe informações sobre a conexão atual ao banco. Ele nos informa, por exemplo, que estamos conectados no banco de dados postgres, com o usuário postgres, via Unix domain socket, ou soquete de domínio Unix (que, de maneira simplória, significa que é uma conexão local, dentro da mesma máquina) usando a porta padrão do PostgreSQL "5432”.
Repare no sinal # no prompt. Ele indica que você está logado com um superusuário do banco de dados (que é diferente do superusuário do linux). Na próxima aula falaremos mais sobre esse usuário do PostgreSQL e como definir uma senha para ele.
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | ICU Locale | Locale Provider | Access privileges
-----------+----------+----------+-------------+-------------+------------+-----------------+-----------------------
postgres | postgres | UTF8 | pt_BR.UTF-8 | pt_BR.UTF-8 | | libc |
template0 | postgres | UTF8 | pt_BR.UTF-8 | pt_BR.UTF-8 | | libc | =c/postgres +
| | | | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | pt_BR.UTF-8 | pt_BR.UTF-8 | | libc | =c/postgres +
| | | | | | | postgres=CTc/postgres
(4 rows)
Este comando nos informa os bancos de dados existentes. A instalação, por padrão, já cria esses bancos de dados. Em uma aula posterior, falaremos mais sobre esses bancos e também vou te ensinar como criar novos bancos de dados.
Agora vocês têm uma instalação do PostgreSQL pronta para começar a usar.
Caso tenha dúvidas, vou deixar aqui o vídeo completo dessa aula para você acompanhar passo a passo o que foi feito aqui. Você também pode colocar nos comentários suas dúvidas e responderemos assim que possível.
Na próxima aula vou te ensinar como definir uma senha para um usuário do banco de dados e como configurar o acesso com senha, via psql. Até lá!