custom background image

Jak zainstalować bazę danych PostgreSQL na Ubuntu 22.04


Zainstaluj bazę danych PostgreSQL na Ubuntu 22.04

Cel

PostgreSQL jest jedną z najbardziej znanych baz danych na świecie. Prosta obsługa i podejście open source są głównymi elementami przemawiającymi za popularnością tego rozwiązania. Aby dowiedzieć się więcej o możliwościach PostgreSQL, sprawdź oficjalną dokumentację.

Z tego tutoriala dowiesz się, jak zainstalować bazę danych PostgreSQL na dystrybucji Linuksa Ubuntu 22.04.

 

Wymagania

W tym tutorialu przyjmujemy, że posiadasz instancję Compute w ramach Public Cloud, serwer VPS lub serwer Bare Metal z systemem Ubuntu 22.04 oraz podstawowe umiejętności w zakresie korzystania z wierszy poleceń. Na potrzeby tego tutorialu opieramy się na przykładzie instancji Compute w Public Cloud. Jeśli potrzebujesz pomocy w skonfigurowaniu instancji Public Cloud z systemem Ubuntu 22.04, skorzystaj z tego przewodnika: Tworzenie pierwszej instancji Public Cloud i łączenie się z nią.

 

Wskazówki

Dzięki temu tutorialowi zainstalujesz PostgreSQL i utworzysz bazę danych.

 

Instalacja bazy danych PostgreSQL

W momencie tworzenia tego tutoriala najnowsza wersja PostgreSQL to 14.x. Wszystkie dostępne wersje znajdziesz w sekcji pobierania oficjalnej dokumentacji.

Aby zainstalować PostgreSQL na Ubuntu, użyj polecenia apt-get:

sudo apt-get -y install postgresql-14

Wynik wyświetli się w następujący sposób:

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

Zwróć uwagę, że pakiet Ubuntu zawiera CLI psql.

Sprawdź instalację:

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

Wynik wyświetli się w następujący sposób:

$ sudo su - postgres

postgres@tutos-ugc:~$ psql

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

postgres=# exit

postgres@tutos-ugc:~$

Pamiętaj, że instalacja PostgreSQL domyślnie tworzy konto postgres, które jest kontem administratora bazy danych. Zachowaj ostrożność, kiedy z niego korzystasz.

Dodanie użytkownika do PostgreSQL

Istnieją dwie metody dodawania użytkowników w PostgreSQL: za pomocą zapytań SQL lub poleceń bash. W tym tutorialu opisujemy wyłącznie sposób SQL, ponieważ jest on bardziej wyczerpujący. Informacje o użyciu polecenia bash znajdziesz w oficjalnej dokumentacji. Aby utworzyć nowe konto, użyj domyślnego konta postgres oraz CLI psql.

Utwórz rolę (rodzaj połączenia użytkowników i uprawnień w PostgreSQL):

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

Wynik wyświetli się w następujący sposób:

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

 

Utworzenie bazy danych

Utwórz bazę danych o nazwie "example" z użytkownikiem "foo" jako właścicielem:

postgres=# CREATE DATABASE example OWNER foo

Wynik wyświetli się w następujący sposób:

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

Aby korzystać z nowego konta użytkownika, utwórz użytkownika systemu Linux (tego typu polecenie wymaga uprawnień root):

adduser foo

Wynik wyświetli się w następujący sposób:

$ 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

Przetestuj nowe konto:

sudo su - foo psql -d example

Wynik wyświetli się w następujący sposób:

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

example=> 

 Stwórz listę baz danych:

postgres=# \l

Wynik wyświetli się w następujący sposób:

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)

 

Utworzenie tabeli i korzystanie z niej

Twórz tabele i wykorzystuj je do Twoich celów.

W przypadku następujących poleceń użyj uprzednio utworzonego użytkownika foo.

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

Wynik wyświetli się w następujący sposób:

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

Teraz możesz używać first_table w zapytaniach SQL:

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

Wynik wyświetli się w następujący sposób:

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

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

Baza danych PostgreSQL została prawidłowo zainstalowana i skonfigurowana na Ubuntu 22.04.