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.