Como instalar uma base de dados PostgreSQL em Ubuntu 22.04?


Instalar uma base de dados PostgreSQL em Ubuntu 22.04

Objetivo

O PostgreSQL é uma das bases de dados mais famosas do mundo. A sua simplicidade de utilização e a abordagem Open Source são dois fatores importantes para a sua ampla adoção. Para obter mais informações e saber mais sobre as capacidades do PostgreSQL, consulte a documentação oficial.

Neste tutorial, descobrirá como instalar uma base de dados PostgreSQL na distribuição Linux Ubuntu 22.04.

 

Requisitos

Este tutorial parte do princípio de que dispõe de um Ubuntu 22.04, a correr numa instância de computação OVHcloud, por exemplo. Alguns conhecimentos básicos sobre o seu funcionamento são também necessários. Se não tiver o Ubuntu 22.04, siga este guia para utilizar uma Instância de Computação OVHcloud.

 

Instruções

Neste tutorial, numa primeira fase, irá instalar uma base de dados PostgreSQL e, em seguida, irá criar a sua própria base de dados com base na primeira.

 

Instalação da Base de Dados PostgreSQL

Aquando da redação deste tutorial, a última versão de PostgreSQL é a 14.x. Consulte a secção de download da documentação oficial no caso de versões mais antigas ou mais recentes.

A forma mais fácil de instalar o PostgreSQL em Ubuntu é usar o comando apt-get:

sudo apt-get -y install postgresql-14

O resultado deve ser o seguinte:

$ sudo apt-get -y install postgresql-14

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  libcommon-sense-perl libjson-perl libjson-xs-perl libllvm14 libpq5 libsensors-config libsensors5 libtypes-serialiser-perl postgresql-client-14
  postgresql-client-common postgresql-common ssl-cert sysstat
Suggested packages:
  lm-sensors postgresql-doc-14 isag
The following NEW packages will be installed:
  libcommon-sense-perl libjson-perl libjson-xs-perl libllvm14 libpq5 libsensors-config libsensors5 libtypes-serialiser-perl postgresql-14 postgresql-client-14
  postgresql-client-common postgresql-common ssl-cert sysstat
0 upgraded, 14 newly installed, 0 to remove and 0 not upgraded.
Need to get 42.4 MB of archives.
After this operation, 161 MB of additional disk space will be used.
Get:1 http://nova.clouds.archive.ubuntu.com/ubuntu jammy/main amd64 libcommon-sense-perl amd64 3.75-2build1 [21.1 kB]
...
update-alternatives: using /usr/share/postgresql/14/man/man1/postmaster.1.gz to provide /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) in auto mode
Processing triggers for man-db (2.10.2-1) ...
Processing triggers for libc-bin (2.35-0ubuntu3) ...
Scanning processes...                                                                                                                                                     
Scanning linux images...                                                                                                                                                  

Running kernel seems to be up-to-date.

No services need to be restarted.

No containers need to be restarted.

No user sessions are running outdated binaries.

No VM guests are running outdated hypervisor (qemu) binaries on this host.

Tenha em conta que o pacote Ubuntu contém o CLI psql.

Em seguida, pode testar a sua nova instalação:

sudo su - postgres postgres@ubuntu-machine:~$ psql

O resultado deve ser o seguinte:

$ sudo su - postgres

postgres@tutos-ugc:~$ psql

psql (14.2 (Ubuntu 14.2-1ubuntu1))
Type "help" for help.

postgres=# exit

postgres@tutos-ugc:~$

Tenha em mente que, por defeito, a instalação de PostgreSQL cria uma conta postgres. Trata-se de uma conta de superutilizador para a base de dados. Tenha cuidado quando a utilizar. Nos próximos capítulos, ser-lhe-á explicado como criar utilizadores padrão.

 

Adicionar um utilizador no PostgreSQL

Existem duas formas de adicionar um utilizador no PostgreSQL: com pedidos SQL ou recorrendo a um comando em bash. Neste tutorial, iremos debruçar-nos apenas sobre o método, por ser mais completo. Para saber como utilizar o modo de comando, consulte a documentação oficial. Para criar a sua nova conta, deverá utilizar a conta predefinida postgres e o CLIpsql (veja primeiro como se ligar ao psql).

Deve começar por criar um papel (uma espécie de combinação de utilizadores e direitos no mundo PostgreSQL):

postgres=# CREATE USER foo WITH PASSWORD 'bar';

O resultado deve ser o seguinte:

postgres=# CREATE USER foo WITH PASSWORD 'bar';
CREATE ROLE
postgres=#

 

Criar uma base de dados

Aquando da criação da base de dados, é possível definir o proprietário:

postgres=# CREATE DATABASE example OWNER foo

O resultado deve ser o seguinte:

postgres=# CREATE DATABASE example OWNER foo
CREATE DATABASE
postgres-# 

Em seguida, para utilizar o seu novo utilizador, deve criar um utilizador linux equivalente (os privilégios root são obrigatórios para este tipo de comando):

adduser foo

O resultado deve ser o seguinte:

$ sudo su -
$ root@tutos-ugc:~# adduser foo
Adding user `foo' ...
Adding new group `foo' (1001) ...
Adding new user `foo' (1001) with group `foo' ...
Creating home directory `/home/foo' ...
Copying files from `/etc/skel' ...
New password: 
Retype new password: 
passwd: password updated successfully
Changing the user information for foo
Enter the new value, or press ENTER for the default
	Full Name []: Foo Bar
	Room Number []: 
	Work Phone []: 
	Home Phone []: 
	Other []: 
Is the information correct? [Y/n] Y
$ root@tutos-ugc:~# exit

Agora, pode testar a sua nova conta:

sudo su - foo psql -d example

O resultado deve ser o seguinte:

ubuntu@tutos-ugc:~$ sudo su - foo
foo@tutos-ugc:~$ psql -d example
psql (14.2 (Ubuntu 14.2-1ubuntu1))
Type "help" for help.

example=> 

Pode elaborar uma lista das suas bases de dados para verificar a criação das mesmas:

postgres=# \l

O resultado deve ser o seguinte:

postgres=# \l
                              List of databases
   Name    |  Owner   | Encoding | Collate |  Ctype  |   Access privileges   
-----------+----------+----------+---------+---------+-----------------------
 example   | foo      | UTF8     | C.UTF-8 | C.UTF-8 | 
 postgres  | postgres | UTF8     | C.UTF-8 | C.UTF-8 | 
 template0 | postgres | UTF8     | C.UTF-8 | C.UTF-8 | =c/postgres          +
           |          |          |         |         | postgres=CTc/postgres
 template1 | postgres | UTF8     | C.UTF-8 | C.UTF-8 | =c/postgres          +
           |          |          |         |         | postgres=CTc/postgres
(4 rows)

 

Criar uma tabela e utilizá-la

Nesta fase, pode criar tabelas e utilizá-las.

Para os comandos seguintes, recorra ao utilizador foo que criou anteriormente.

example=> CREATE TABLE first_table (id INT PRIMARY KEY NOT NULL, column1 CHAR(50));

O resultado deve ser o seguinte:

example=> CREATE TABLE first_table (id INT PRIMARY KEY NOT NULL, column1 CHAR(50));
CREATE TABLE
example=> 

Nesta altura, pode utilizar o comando first_table nos pedidos SQL:

example=> INSERT INTO first_table (id, column1) VALUES (1, 'example'); example=> SELECT * FROM first_table;

O resultado deve ser o seguinte:

example=> INSERT INTO first_table (id, column1) VALUES (1, 'example');
INSERT 0 1

example=> SELECT * FROM first_table;
 id |                      column1                       
----+----------------------------------------------------
  1 | example                                           
(1 row)

Já está! Instalou e configurou com sucesso uma base de dados PostgreSQL no Ubuntu 22.04.

Ir mais longe

Consulte as ofertas de bases de dados geridas PostgreSQL e de instâncias Public Cloud na OVHcloud.