PostgreSQL, dar vadinama Postgres, yra viena populiariausių duomenų bazių valdymo sistemų, tinkanti įvairaus dydžio projektams: nuo nedidelių sprendimų iki didelės apkrovos sistemų. Ji suteikia daugybę funkcijų, kurios palengvina aplikacijų kūrimą, padeda užtikrinti duomenų vientisumą ir efektyviai valdyti duomenis.
1. Diegimas
1.1 Sistemos paketų atnaujinimas
Prieš diegdami PostgreSQL atnaujinkite sistemos paketų sąrašą:
apt update
1.2 PostgreSQL saugyklos pridėjimas
Numatytosiose Ubuntu ir Debian paketų saugyklose dažniausiai pateikiamos senesnės PostgreSQL versijos. Norėdami įdiegti PostgreSQL 17, pridėkite oficialią PostgreSQL paketų saugyklą:
sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
1.3 PostgreSQL GPG rakto importavimas
Importuokite oficialų PostgreSQL paketų pasirašymo GPG raktą:
curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg
1.4 Pakartotinis paketų sąrašo atnaujinimas
Pridėję naują saugyklą dar kartą atnaujinkite paketų sąrašą:
apt update
1.5 PostgreSQL 17 diegimas
Dabar galite įdiegti PostgreSQL 17:
apt install postgresql-17
1.6 PostgreSQL paslaugos paleidimas ir automatinio paleidimo įjungimas
Paleiskite PostgreSQL paslaugą:
systemctl start postgresql
Nustatykite, kad PostgreSQL būtų automatiškai paleidžiama kartu su sistema:
systemctl enable postgresql
1.7 Diegimo patikrinimas
Patikrinkite įdiegtą PostgreSQL versiją:
psql --version
1.8 PostgreSQL konfigūravimas nuotolinei prieigai
Pagal numatytuosius nustatymus PostgreSQL priima prisijungimus tik iš vietinio serverio. Norėdami leisti nuotolinius prisijungimus, atidarykite PostgreSQL konfigūracijos failą:
vi /etc/postgresql/17/main/postgresql.conf
Raskite eilutę:
listen_addresses = 'localhost'
Pakeiskite ją į:
listen_addresses = '*'
Išsaugokite pakeitimus ir uždarykite redaktorių.
1.9 Autentifikavimo metodų atnaujinimas
Atnaujinkite pg_hba.conf failą, kad būtų leidžiamas nuotolinis autentifikavimas.
Pakeiskite ident autentifikavimo metodą į md5:
sed -i '/^host/s/ident/md5/' /etc/postgresql/17/main/pg_hba.conf
Vietiniams prisijungimams pakeiskite peer autentifikavimo metodą į trust:
sed -i '/^local/s/peer/trust/' /etc/postgresql/17/main/pg_hba.conf
Leiskite nuotolinius prisijungimus iš visų IPv4 adresų:
echo "host all all 0.0.0.0/0 md5" | sudo tee -a /etc/postgresql/17/main/pg_hba.conf
1.10. PostgreSQL paleidimas iš naujo
Kad konfigūracijos pakeitimai įsigaliotų, paleiskite PostgreSQL paslaugą iš naujo:
systemctl restart postgresql
1.11. PostgreSQL prievado atidarymas užkardoje
Jei naudojate UFW užkardą, leiskite TCP srautą per PostgreSQL naudojamą 5432 prievadą:
ufw allow 5432/tcp
Jei naudojate iptables, atidarykite 5432 prievadą šia komanda:
iptables -A INPUT -p tcp --dport 5432 -j ACCEPT
Tada išsaugokite taisykles:
netfilter-persistent save
Jei netfilter-persistent nėra įdiegtas, taisykles galite išsaugoti naudodami:
iptables-save | tee /etc/iptables/rules.v4
2. PostgreSQL 17 naudojimas
2.1 Prisijungimas prie PostgreSQL komandinės eilutės
Prisijunkite prie PostgreSQL kaip postgres naudotojas:
sudo -u postgres psql
2.2 PostgreSQL naudotojo slaptažodžio nustatymas
PostgreSQL aplinkoje nustatykite slaptažodį numatytajam postgres naudotojui:
ALTER USER postgres PASSWORD 'YourPassword';
Vietoje 'YourPassword' nurodykite stiprų slaptažodį.
2.3 Naujos duomenų bazės sukūrimas
Norėdami sukurti naują duomenų bazę, vykdykite:
CREATE DATABASE mydatabase;
2.4 Naujo naudotojo sukūrimas
Sukurkite naują PostgreSQL naudotoją ir nustatykite jam slaptažodį:
CREATE USER myuser WITH ENCRYPTED PASSWORD 'mypassword';
2.5 Teisių suteikimas naujam naudotojui
Suteikite naujam naudotojui visas teises į sukurtą duomenų bazę:
GRANT ALL PRIVILEGES ON DATABASE mydatabase TO myuser;
2.6 Išėjimas iš PostgreSQL
Norėdami išeiti iš PostgreSQL komandinės eilutės, vykdykite:
\q
