Hoe installeer je een PostgreSQL-database op Ubuntu 22.04?


Installeer een PostgreSQL-database op Ubuntu 22.04

Doel

PostgreSQL is een van de bekendste databases ter wereld. De gebruiksvriendelijkheid ervan en de Open Source-benadering zijn belangrijke punten bij het wijdverbreide gebruik ervan. Voor meer informatie en de mogelijkheden van PostgreSQL verwijzen we naar de officiële documentatie.

In deze tutorial leert u hoe u een PostgreSQL-database installeert op een Ubuntu 22.04 Linux-distributie.

 

Vereisten

In deze zelfstudie wordt ervan uitgegaan dat u een Ubuntu 22.04 heeft, die bijvoorbeeld in een OVHcloud Compute-instance draait, en dat u enkele basiskennis heeft van hoe u dit moet doen. Als u geen actieve Ubuntu 22.04 heeft, volg dan de handleiding om een OVHcloud Compute Instance te gebruiken.

 

Instructies

In deze tutorial installeert u eerst een PostgreSQL-database en vervolgens maakt u er een database op aan.

 

De PostgreSQL-database installeren

Bij het schrijven van deze tutorial is de laatste LTS-versie van PostgreSQL 14.x. Zie de downloadsectie van de officiële documentatie voor oudere of nieuwere versies.

De makkelijkste manier om PostgreSQL op Ubuntu te installeren is om het apt-get commando te gebruiken:

sudo apt-get -y install postgresql-14

De output zou als volgt moeten zijn:

$ 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.

Let op: het Ubuntu-pakket bevat de psql CLI.

Daarna kunt u uw nieuwe installatie testen:

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

De output zou als volgt moeten zijn:

$ sudo su - postgres

postgres@tutos-ugc:~$ psql

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

postgres=# exit

postgres@tutos-ugc:~$

Let op: de installatie van PostgreSQL maakt standaard een postgres-account aan. Dit account is een superuser-account voor de database. Wees voorzichtig wanneer u het gebruikt. De volgende hoofdstukken leggen uit hoe u standaardgebruikers kunt creëren.

 

Gebruiker aan PostgreSQL toevoegen

Er zijn twee manieren om een gebruiker toe te voegen in PostgreSQL: met SQL-query's of met een opdracht in bash. In deze tutorial gebruiken we alleen de SQL-manier, omdat deze uitgebreider is. Zie de officiële documentatie voor meer informatie over het gebruik van de methode met een commando. U moet het standaardaccount van postgres en de CLI van psql gebruiken om uw nieuwe account te maken (bekijk eerst hoe u verbinding maakt met psql).

Het eerste dat u moet doen, is het creëren van een “role” (een soort combinatie van gebruikers en rechten in de PostgreSQL-wereld):

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

De output zou als volgt moeten zijn:

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

 

Een database aanmaken

Wanneer u een database aanmaakt, kunt u de eigenaar instellen:

postgres=# CREATE DATABASE example OWNER foo

De output zou als volgt moeten zijn:

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

Vervolgens moet u een equivalente Linux-gebruiker aanmaken om uw nieuwe gebruiker te kunnen gebruiken (root privilege is verplicht voor dit soort opdrachten):

adduser foo

De output zou als volgt moeten zijn:

$ 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

Dan kunt u uw nieuwe account testen:

sudo su - foo psql -d example

De output zou als volgt moeten zijn:

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

example=> 

U kunt een lijst met databases opvragen om te testen of het aanmaken gelukt is:

postgres=# \l

De output zou als volgt moeten zijn:

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)

 

Een tabel maken en gebruiken

Nu kunt u lijsten creëren en deze gebruiken.

Gebruik de eerder aangemaakte foo-gebruiker voor de volgende opdrachten.

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

De output zou als volgt moeten zijn:

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

Nu kunt u de first_table in SQL-query’s gebruiken:

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

De output zou als volgt moeten zijn:

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

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

Dat is alles. U heeft met succes een PostgreSQL-database op Ubuntu 22.04 geïnstalleerd en geconfigureerd.

Verdere stappen

Bekijk de producten voor PostgreSQL managed database en public cloud-instance op OVHcloud.