Come installare un database PostgreSQL su Ubuntu 22.04
Installare un database PostgreSQL su Ubuntu 22.04
Obiettivo
PostgreSQL è uno dei database più famosi al mondo, principalmente per la sua semplicità di utilizzo e per l’approccio open source. Per maggiori informazioni sulle funzionalità di PostgreSQL, consulta la documentazione ufficiale.
Questo tutorial spiega come installare un database PostgreSQL su una distribuzione Linux Ubuntu 22.04.
Requisiti
Per poter seguire gli step indicati in questo tutorial è necessario disporre di un’istanza Compute di OVHcloud, di un VPS o di un server Bare Metal su cui è in esecuzione Ubuntu 22.04 e di avere conoscenze di base sull’uso della riga di comando. In questo tutorial abbiamo utilizzato un’istanza Compute Public Cloud. Se hai bisogno di aiuto per installare un’istanza Public Cloud con Ubuntu 22.04, consulta questa guida: Creare e connettersi a un’istanza Public Cloud.
Procedura
Questo tutorial ti permette di installare un database PostgreSQL e di creare un database.
Installare un database PostgreSQL
Al momento della pubblicazione di questo tutorial, l'ultima versione di PostgreSQL è 14.x. Consulta la sezione download della documentazione ufficiale per scoprire tutte le versioni disponibili.
Per installare PostgreSQL su Ubuntu, usa il comando apt-get:
sudo apt-get -y install postgresql-14
Il risultato dovrebbe essere simile a questo:
$ sudo apt-get -y installare 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.
NB: il pacchetto Ubuntu contiene l'interfaccia CLI psql.
Verifica l'installazione:
sudo su - postgres postgres@ubuntu-machine:~$ psql
Il risultato dovrebbe essere simile a questo:
$ sudo su - postgres postgres@tutos-ugc:~$ psql psql (14.2 (Ubuntu 14.2-1ubuntu1)) Type "help" for help. postgres=# exit postgres@tutos-ugc:~$
NB: l'installazione di PostgreSQL crea di default un account postgres. Si tratta di un account superutente per il database. Fai attenzione quando lo utilizzi.
Aggiungere un utente a PostgreSQL
È possibile aggiungere un utente in PostgreSQL in due modi: con richieste SQL o con un comando in bash. In questo tutorial utilizzeremo solo la modalità SQL perché è più completa. Per informazioni sull'utilizzo del comando bash, consulta la documentazione ufficiale. Per creare il tuo nuovo account, utilizza l'account predefinito postgres e l'interfaccia CLI psql.
Sarà necessario creare un ruolo (una sorta di combinazione di utenti e diritti nel mondo PostgreSQL):
postgres=# CREATE USER foo WITH PASSWORD 'bar';
Il risultato dovrebbe essere simile a questo:
postgres=# CREATE USER foo WITH PASSWORD 'bar'; CREATE ROLE postgres=#
Creare un database
Crea un database con i nomi "esempio" per l’utente e "foo" per il proprietario:
postgres=# CREATE DATABASE example OWNER foo
Il risultato dovrebbe essere simile a questo:
postgres=# CREATE DATABASE example OWNER foo CREATE DATABASE postgres-#
Per utilizzare il tuo nuovo account utente, crea un utente linux equivalente (per questo tipo di comando è obbligatorio avere i permessi di root):
adduser foo
Il risultato dovrebbe essere simile a questo:
$ 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
Testa il tuo nuovo account:
sudo su - foo psql -d example
Il risultato dovrebbe essere simile a questo:
ubuntu@tutos-ugc:~$ sudo su - foo foo@tutos-ugc:~$ psql -d example psql (14.2 (Ubuntu 14.2-1ubuntu1)) Type "help" for help. example=>
Elenca i database:
postgres=# \l
Il risultato dovrebbe essere simile a questo:
postgres=# \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+---------+---------+----------------------- esempio | alimenti | 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)
Creare una tabella e utilizzarla
A questo punto, puoi creare tabelle e utilizzarle.
Per i seguenti comandi usa l'utente foo creato in precedenza.
example=> CREATE TABLE first_table (id INT PRIMARY KEY NOT NULL, column1 CHAR(50));
Il risultato dovrebbe essere simile a questo:
example=> CREATE TABLE first_table (id INT PRIMARY KEY NOT NULL, column1 CHAR(50)); CREATE TABLE example=>
A questo punto, puoi utilizzare la tabella first_table nelle query SQL:
example=> INSERT INTO first_table (id, column1) VALUES (1, 'example'); example=> SELECT * FROM first_table;
Il risultato dovrebbe essere simile a questo:
example=> INSERT INTO first_table (id, column1) VALUES (1, 'example'); INSERT 0 1 example=> SELECT * FROM first_table; id | column1 ----+---------------------------------------------------- 1 | example (1 row)
Congratulazioni! Hai installato e configurato correttamente un database PostgreSQL su Ubuntu 22.04.