Como instalar o PostgreSQL no Ubuntu 24.04
Neste artigo discutiremos o processo de instalação do PostgreSQL no sistema operacional Linux Ubuntu 24.04 (Noble Numbat). PostgreSQL é um sistema de gerenciamento de banco de dados relacional de código aberto, mas poderoso, com conceitos orientados a objetos. Ele brilha em robustez, desempenho e confiabilidade. Existe uma grande comunidade por trás do desenvolvimento deste sistema de banco de dados. O PostgreSQL é a escolha ideal para modelar relacionamentos de dados mais complexos em suas aplicações.
Como o PostgreSQL é compatível com ACID (em conformidade com Atomicidade, Consistência, Isolamento e Durabilidade), você tem garantia de confiabilidade e integridade dos dados nas transações. Esta é uma característica muito importante em todos os negócios. O PostgreSQL é um vencedor na escolha do banco de dados certo para aplicações de missão crítica e análises enormes e complexas. Use as etapas nas próximas seções para instalar, configurar e começar a usar o PostgreSQL no Ubuntu 24.04.
1. Prepare o sistema
Para seguir este artigo e ter sucesso, você precisará do seguinte.
- Sistema Linux Ubuntu 24.04 (Noble Numbat) – VM ou dedicado
- Acesso à Internet no servidor
- Usuário com permissões sudo, alternativamente faça login como usuário root.
Faça login no seu sistema com ssh ou acesso direto ao terminal do sistema operacional.
ssh user@serverIP
Atualize a lista de pacotes do repositório.
sudo apt update
2. Instale o banco de dados PostgreSQL
Você tem duas opções para esta instalação.
Opção 1) Instalar a partir dos repositórios padrão do sistema
Os repositórios padrão do Ubuntu contêm pacotes do PostgreSQL. Se você não se preocupa com a maioria dos lançamentos mais recentes, este é o método de instalação mais fácil.
Basta iniciar uma sessão de terminal em sua máquina e instalar os pacotes postgresql
.
sudo apt install postgresql postgresql-contrib
No momento em que este artigo foi escrito, a versão estável mais recente disponível era o PostgreSQL 16. Isso deve ser suficiente para a maioria dos aplicativos.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following package was automatically installed and is no longer required:
ubuntu-advantage-tools
Use 'sudo apt autoremove' to remove it.
The following additional packages will be installed:
libcommon-sense-perl libjson-perl libjson-xs-perl libllvm17t64 libpq5 libtypes-serialiser-perl postgresql-16 postgresql-client-16 postgresql-client-common postgresql-common ssl-cert
Suggested packages:
postgresql-doc postgresql-doc-16
The following NEW packages will be installed:
libcommon-sense-perl libjson-perl libjson-xs-perl libllvm17t64 libpq5 libtypes-serialiser-perl postgresql postgresql-16 postgresql-client-16 postgresql-client-common postgresql-common
postgresql-contrib ssl-cert
0 upgraded, 13 newly installed, 0 to remove and 1 not upgraded.
Need to get 43.5 MB of archives.
After this operation, 175 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
O serviço de banco de dados é iniciado automaticamente após a instalação.
$ systemctl status postgresql@*-main.service
● [email - PostgreSQL Cluster 16-main
Loaded: loaded (/usr/lib/systemd/system/[email ; enabled-runtime; preset: enabled)
Active: active (running) since Sun 2024-04-21 12:42:25 EAT; 4min 46s ago
Process: 21647 ExecStart=/usr/bin/pg_ctlcluster --skip-systemctl-redirect 16-main start (code=exited, status=0/SUCCESS)
Main PID: 21652 (postgres)
Tasks: 6 (limit: 4614)
Memory: 19.7M (peak: 27.1M)
CPU: 206ms
CGroup: /system.slice/system-postgresql.slice/[email
├─21652 /usr/lib/postgresql/16/bin/postgres -D /var/lib/postgresql/16/main -c config_file=/etc/postgresql/16/main/postgresql.conf
├─21653 "postgres: 16/main: checkpointer "
├─21654 "postgres: 16/main: background writer "
├─21656 "postgres: 16/main: walwriter "
├─21657 "postgres: 16/main: autovacuum launcher "
└─21658 "postgres: 16/main: logical replication launcher "
Apr 21 12:42:23 ubuntu-2404-server systemd[1]: Starting [email - PostgreSQL Cluster 16-main...
Apr 21 12:42:25 ubuntu-2404-server systemd[1]: Started [email - PostgreSQL Cluster 16-main.
Opção 2) Instalar a partir dos repositórios oficiais do PostgreSQL
Um método de instalação alternativo é a partir do repositório APT fornecido pelo desenvolvedor upstream do projeto. Este repositório contém todas as versões suportadas do PostgreSQL. Se você precisar instalar uma versão mais antiga, mas estável, do PostgreSQL, use este método.
Adicione a chave gpg do PostgreSQL ao seu sistema.
sudo apt install curl ca-certificates
sudo curl -o /etc/apt/trusted.gpg.d/postgresql.gpg --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc
Crie um arquivo de configuração do repositório.
sudo sh -c 'echo "deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc] https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
Atualize a lista de pacotes após a configuração do repositório.
sudo apt update
Para instalar a versão mais recente do PostgreSQL do repositório, execute:
sudo apt -y install postgresql
Para instalar uma versão específica, use postgresql-
em vez de postgresql
. Veja exemplos abaixo.
### PostgreSQL 16 ###
sudo apt install postgresql-16
### PostgreSQL 15 ###
sudo apt install postgresql-15
### PostgreSQL 14 ###
sudo apt install postgresql-14
### PostgreSQL 13 ###
sudo apt install postgresql-13
3. Conecte-se ao shell PostgreSQL
Após a instalação, conecte-se ao shell PostgreSQL em seu sistema Ubuntu. Mude para o usuário postgres.
sudo su - postgres
Quando você for usuário do postgres, inicie o shell do cliente psql
.
postgres@ubuntu-2404-server:~$ psql
psql (16.2 (Ubuntu 16.2-1ubuntu4))
Type "help" for help.
postgres=#
Um comando de linha que faz o mesmo é sudo -u postgres psql
.
postgres=# exit
postgres@ubuntu-2404-server:~$ exit
logout
jkmutai@ubuntu-2404-server:~$ sudo -u postgres psql
psql (16.2 (Ubuntu 16.2-1ubuntu4))
Type "help" for help.
postgres=#
4. Adicionando dados ao banco de dados
Podemos usar o comando CREATE DATABASE
para criar um banco de dados de teste no PostgreSQL
postgres=# CREATE DATABASE testdb;
CREATE DATABASE
Um usuário de banco de dados pode ser criado usando o comando CREATE USER
.
postgres=# CREATE USER testuser WITH PASSWORD 'StrongDBPassword';
Criamos um banco de dados e um usuário, mas o usuário não obteve acesso ao banco de dados criado. Podemos usar o comando GRANT ALL PRIVILEGES
para esta operação.
GRANT ALL PRIVILEGES ON DATABASE testdb TO testuser;
Para verificar se o usuário criado tem acesso ao banco de dados, podemos reconectar como usuário.
exit
psql -h localhost -U testuser -d testdb
Digite a senha quando solicitado.
jkmutai@ubuntu-2404-server:~$ psql -h localhost -U testuser -d testdb
Password for user testuser: <ENTER-PASSWORD>
psql (16.2 (Ubuntu 16.2-1ubuntu4))
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, compression: off)
Type "help" for help.
testdb=>
Vamos criar uma tabela de carros com três colunas – marca, modelo e ano.
CREATE TABLE cars (
brand VARCHAR(255),
model VARCHAR(255),
year INT
);
Para inserir dados de amostra na tabela criada, execute:
INSERT INTO cars (brand, model,year) VALUES ('BMW', 'X3','2020');
INSERT INTO cars (brand, model,year) VALUES ('Toyota', 'Harrier','2021');
INSERT INTO cars (brand, model,year) VALUES ('Audi', 'SQ5','2022');
Visualizar dados inseridos na tabela
testdb=# SELECT * FROM cars;
brand | model | year
--------+---------+------
BMW | X3 | 2020
Toyota | Harrier | 2021
Audi | SQ5 | 2022
(3 rows)
testdb=#
Para eliminar a tabela, use:
\q
DROP DATABASE testdb;
Isso marca o fim do nosso artigo sobre como instalar o PostgreSQL no Ubuntu 24.04 (Noble Numbat). O PostgreSQL vem com um rico conjunto de recursos adequados para diversas necessidades de aplicativos. Agora que você está equipado com o conhecimento básico da instalação, configuração e uso básico do servidor de banco de dados PostgreSQL, comece a explorar funcionalidades extras avançadas consultando as páginas de documentação oficial do PostgreSQL.