Kako instalirati i konfigurirati PostgreSQL na Ubuntu 20.04

PostgreSQL, koji se također često naziva Postgres, moćan je objektno-relacijski sustav baze podataka otvorenog koda. PostgreSQL je među programerima izgradio jaku reputaciju za pouzdanost, robusnost značajki i performanse.

Znat ćeš kako instalirati PostgreSQL na vaš Ubuntu 20.04 LTS Focal Fossa operativni sustav u sljedećem vodiču. Isti princip će raditi i za noviju verziju Ubuntu 21.04 (Hirsute Hippo).

Preduvjeti

Provjerite i ažurirajte svoj Ubuntu 20.04 operativni sustav.

sudo apt update && sudo apt upgrade -y

Oglas


Instalacija PostgreSQL-a na Ubuntu 20.04

Prema zadanim postavkama, PostgreSQL je dostupan u glavnom spremištu Ubuntua. Možete ga instalirati iz izvora, koji je također ispred zadanog spremišta.

Instalirajte PostgreSQL pomoću apt

Da biste instalirali PostgreSQL pomoću upravitelja paketa apt na Ubuntu 20.04, unesite sljedeću naredbu:

sudo apt install postgresql-client

Vi ćete instalirati (PostgreSQL doprinosi paket), koji sadrži dodatke za PostgreSQL sustav baze podataka.

Primjer rezultata:

~$ sudo apt install postgresql postgresql-contrib
 [sudo] password for bytesboss: 
 Reading package lists… Done
 Building dependency tree       
 Reading state information… Done
 The following additional packages will be installed:
   libllvm10 libpq5 postgresql-12 postgresql-client-12 postgresql-client-common
   postgresql-common sysstat
 Suggested packages:
   postgresql-doc postgresql-doc-12 libjson-perl isag
 The following NEW packages will be installed:
   libllvm10 libpq5 postgresql postgresql-12 postgresql-client-12
   postgresql-client-common postgresql-common postgresql-contrib sysstat
 0 upgraded, 9 newly installed, 0 to remove and 3 not upgraded.
 Need to get 30.6 MB of archives.
 After this operation, 121 MB of additional disk space will be used.
 Do you want to continue? [Y/n]

Unesite "Y" za nastavak instalacije. Proces bi trebao trajati manje od 20 sekundi. Nakon instalacije, možete provjeriti instalaciju PostgreSQL-a upisivanjem sljedeće naredbe:

sudo systemctl status postgresql

Primjer rezultata:

~$ sudo systemctl status postgresql
 ● postgresql.service - PostgreSQL RDBMS
      Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
      Active: active (exited) since Tue 2021-06-29 05:00:05 PDT; 3min 29s ago
    Main PID: 4238 (code=exited, status=0/SUCCESS)
       Tasks: 0 (limit: 4617)
      Memory: 0B
      CGroup: /system.slice/postgresql.service
 Jun 29 05:00:05 ubuntu systemd[1]: Starting PostgreSQL RDBMS…
 Jun 29 05:00:05 ubuntu systemd[1]: Finished PostgreSQL RDBMS.

Ako slučajno nije omogućeno, jednostavno upišite start i omogućite iz donje naredbe za podizanje sustava.

sudo systemctl enable postgresql && sudo systemctl start postgresql

Instalirajte PostgreSQL iz izvora

Da biste instalirali PostgreSQL iz izvora, morat ćete instalirati neke dodatne ovisnosti. Najprije unesite sljedeću naredbu da bi vaš Ubuntu sustav bio ažuran.

sudo apt install wget curl ca-certificates 

Zatim preuzmite GPG ključ potreban za dodavanje izvornog spremišta PostgreSQL:

wget -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc \
 | sudo apt-key add - 

Sada dodajte kreirajte prilagođeni PPA kako slijedi. Imajte na umu da je ovo samo za Ubuntu 20.04. Morat ćete promijeniti fokusni dio u hirsute ako koristite Ubuntu 21.04.

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ \
 focal-pgdg main" >> /etc/apt/sources.list.d/pgdg.list' 

Nastavite s ažuriranjem svojih spremišta i instalirajte PostgreSQL i PostgreSQL-Contrib

sudo apt update && sudo apt-get install postgresql postgresql-contrib -y

Primjer rezultata:

~$ sudo apt-get install postgresql postgresql-contrib 
 Reading package lists… Done
 Building dependency tree       
 Reading state information… Done
 The following additional packages will be installed:
   libpq5 postgresql-13 postgresql-client-13
 Suggested packages:
   postgresql-doc postgresql-doc-13
 The following NEW packages will be installed:
   postgresql postgresql-13 postgresql-client-13 postgresql-contrib
 The following packages will be upgraded:
   libpq5
 1 upgraded, 4 newly installed, 0 to remove and 7 not upgraded.
 Need to get 16.9 MB of archives.
 After this operation, 56.0 MB of additional disk space will be used.
 Do you want to continue? [Y/n] y

Unesite "Y" i nastavite s instalacijom. Kada završite, provjerite status instalacije i servisa.

sudo systemctl status postgresql

Ako je ispravno instaliran, trebali biste dobiti status ok, baš kao u prethodnom primjeru koristeći apt manager.

Servisne naredbe za PostgreSQL

PostgreSQL poslužitelj baze podataka radi kao usluga pod imenom “PostgreSQL“. Uslugom možete upravljati pokretanjem naredbi u nastavku.

  • Zaustavite PostgreSQL poslužitelj:
sudo systemctl stop postgresql
  • Pokrenite PostgreSQL poslužitelj:
sudo systemctl start postgresql
  • Ponovno pokrenite PostgreSQL (npr. nakon promjene postavki konfiguracije) poslužitelj:
sudo systemctl restart postgresql
  • Ponovno učitajte PostgreSQL poslužitelj:
sudo systemctl reload postgresql
  • Provjerite status PostgreSQL:
sudo systemctl status postgresql

Čestitamo, uspješno ste instalirali PostgreSQL poslužitelj baze podataka.


Oglas


Konfigurirajte PostgreSQL poslužitelj

Prelazak na Postgres račun

Prije nego što nastavite, imajte na umu da samo superkorisnici i uloge s privilegijom kreiranja uloge mogu kreirati nove uloge u Postgresu. Tijekom instalacije kreiran je korisnički račun pod nazivom Postgres povezan sa zadanom ulogom Postgres.

Za interakciju s računom možete izvršiti sljedeće naredbe:

sudo -i -u postgres

Sada s unosom gore navedenog, možete odmah pristupiti PostgreSQL promptu upisivanjem:

psql

Odmah ćete primijetiti da se terminal promijenio tako da je (postgres=#) sada u naredbenom retku terminala. To znači da ste se uspješno povezali s bazom podataka.

Da biste izašli iz Postgres baze podataka, to možete učiniti tako da upišete sljedeće:

\q

Alternativa za promjenu Postgres računa

Alternativni način interakcije s Postgres bazom podataka bez promjene korisničkih računa je korištenje naredbe sudo za izravno povezivanje. To možete učiniti tako da upišete:

sudo -u postgres psql

Ovo je idealno za korištenje više, jer štedi vrijeme za izravno prijavljivanje bez potrebe za dodatnim terminal bash naredbama.

Za izlaz iz terminala, baš kao i prva opcija, možete izaći upisivanjem sljedećeg:

/q

Napravite korisničku i bazu podataka

Sada možete kreirati korisničke uloge ako želite. Napomena, samo superkorisnici i uloge s (kreatorola) privilegija može stvoriti nove uloge. Da biste stvorili novog korisnika, upišite sljedeće:

sudo su - postgres -c "createuser <name>"

Sada možete stvoriti PostgreSQL bazu podataka za novog korisnika kojeg ste stvorili:

sudo su - postgres -c "createdb <namedb>"

Da biste završili, morate se prebaciti na postgres račun superkorisnika da biste dali dopuštenje za novu bazu podataka.

Povežite se s Postgres super korisničkim računom:

sudo -u postgres psql

Omogućite pristup do :

GRANT ALL PRIVILEGES ON DATABASE <usernamedb> TO <name>;

Kada završite, za izlaz upišite sljedeće:

/q

Omogućavanje UFW vatrozida za PostgreSQL

Morat ćete stvoriti UFW pravilo vatrozida kako biste omogućili PostgreSQL-u komunikaciju na svom zadanom portu 5432 i potreban je ako planirate koristiti bilo što drugo osim localhost-a. To se može učiniti upisivanjem sljedeće naredbe:

sudo ufw allow proto tcp from 192.168.1.0/24 to any port 5432

Oglas


Daljinski pristup PostgreSQL-u

Ako trebate zadani pristup PostgreSQL-u, to se može jednostavno učiniti promjenom zadanog slušanja lokalnog sučelja (127.0.0.1) na IP, podmrežu ili čak sva sučelja, što se može učiniti u (postgresql.conf) file.

Prvo otvorite postgresql.conf datoteku koristeći nano:

sudo nano /etc/postgresql/12/main/postgresql.conf

Sada se pomičite prema dolje dok ne pronađete (Postavke veze) i promijenite (addresses_slušanja = 'localhost') prema adresa. Većina bi se odlučila za slušanje svih sučelja, posebno kada se radi na više poslužitelja koji zahtijevaju povezivanje s PostgreSQL bazom podataka promjenom localhost do (*).

Primjer:

postgress adresa slušanja ubuntu 20.04

Sada spremite datoteku (CTRL+O), zatim izađite (CTRL+X) i ponovno pokrenite svoju instancu PostgreSQL:

sudo service postgresql restart

Kako bi provjerili jesu li promjene koje ste napravili aktivne, korisnici to mogu učiniti pomoću ss uslužnog programa ugrađenog u Ubuntu.

ss -nlt | grep 5432

Trebali biste vidjeti sljedeće:

slušanje provjeri postgresql i ubuntu

Da biste završili, možete konfigurirati poslužitelj da prihvaća udaljene veze uređivanjem datoteke (pg_hba.conf).

Otvorite (pg_hba.conf) koristeći nano:

sudo nano /etc/postgresql/12/main/pg_hba.conf

Od ove točke možete postaviti različite opcije. Neki primjeri u nastavku:

postgresql primjeri

Komentari i zaključak:

U vodiču ste naučili kako instalirati PostgreSQL pomoću upravitelja paketa apt i putem izvora, što se više preporučuje ako tražite novije značajke i kreirate ulogu i bazu podataka s postavljenim udaljenim vezama. Općenito, PostgreSQL ima mnoge prednosti u pogledu kompatibilnosti, skalabilnosti, sigurnosti i drugih značajki u usporedbi s drugim sustavima za upravljanje bazama podataka. Za razliku od drugih Sustavi za upravljanje bazama podataka (DBMS), podupire ga velika mreža tvrtki koje čine snažnu ujedinjenu zajednicu.

Za više informacija o korištenju PostgreSQL posjetite službeni dokumentacija.

Ako imate pitanja, slobodno ostavite komentar ispod.

Ostavite komentar