Hoe PostgreSQL 16 te installeren op Ubuntu 24.04, 22.04 of 20.04

PostgreSQL 16 markeert een belangrijke update in de wereld van databasebeheersystemen. PostgreSQL 16, officieel uitgebracht op 14 september 2023, introduceert veel nieuwe functies en verbeteringen, waardoor zijn positie als robuuste en veelzijdige databaseoplossing voor gebruikers, beheerders en ontwikkelaars wordt versterkt.

Hieronder staan ​​enkele van de belangrijkste kenmerken van PostgreSQL 16:

  • Verbeteringen in parallellisatie: PostgreSQL 16 maakt de parallellisatie van FULL en interne rechts-OUTER-hash-joins mogelijk, waardoor de queryprestaties aanzienlijk worden verbeterd.
  • Replicatieverbeteringen: Het introduceert de mogelijkheid voor logische replicatie vanaf standby-servers en stelt abonnees in staat grote transacties parallel uit te voeren.
  • Bewakingsmogelijkheden: Door de weergave pg_stat_io toe te voegen, wordt een diepgaandere monitoring van I/O-statistieken mogelijk.
  • SQL/JSON-ondersteuning: Deze release introduceert SQL/JSON-constructors en identiteitsfuncties, waardoor de mogelijkheden voor gegevensverwerking worden uitgebreid.
  • Vacuümvriesprestaties: PostgreSQL 16 verbetert de prestaties van vacuümvriezen, wat helpt bij efficiënt databaseonderhoud.
  • Reguliere expressie-matching: Het matchen van reguliere expressies voor gebruikers- en databasenamen in pg_hba.conf en gebruikersnamen in pg_ident.conf verbetert de veiligheid en flexibiliteit.

Laten we nu verder gaan met de technische how-to en ons verdiepen in het installatieproces van PostgreSQL 16.

Vereisten voor het installeren van PostgreSQL 16

Om PostgreSQL 16 succesvol op Ubuntu te installeren, moet u ervoor zorgen dat u aan de volgende vereisten voldoet:

Aanbevolen hardware en ondersteunde Ubuntu-versies

OnderdeelVereiste
VerwerkerCompatibele processor van 1 gigahertz (GHz) of sneller
RAM2 GB of meer
Schijfruimte512 MB HDD (extra schijfruimte vereist voor gegevens of ondersteunende componenten)
Ondersteunde versiesUbuntu 24.04 (Edel), Ubuntu 22.04 (Jammie), Ubuntu 20.04 (focaal)

Aanvullende vereisten

VereisteBeschrijving
InternetverbindingVereist om PostgreSQL 16 en toekomstige updates te downloaden.
TerminalconventiesAlle terminalopdrachten moeten als gewone gebruiker worden uitgevoerd sudo privileges.
CLI-opdrachtenGebruik de opdrachtregelinterface (CLI) voor installatie en configuratie.

PostgreSQL APT-repository importeren

Update Ubuntu vóór installatie van PostgreSQL 16

Zorg er eerst voor dat uw Ubuntu-systeem up-to-date is. Deze stap is cruciaal voor het handhaven van de systeemstabiliteit en compatibiliteit:

sudo apt update

Upgrade vervolgens alle pakketten die verouderd zijn:

sudo apt upgrade

Installeer initiële pakketten voor PostgreSQL 16

Om u te helpen bij het installeren van de databasesoftware, installeert u de volgende pakketten:

sudo apt install dirmngr ca-certificates software-properties-common apt-transport-https lsb-release curl -y

Voeg PostgreSQL 16 APT-repository toe

Importeer eerst de PostgreSQL GPG-sleutel. Dit gaat erom dat u zeker weet dat de pakketten die u gaat installeren authentiek zijn en dat er niet mee is geknoeid:

curl -fSsL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | sudo tee /usr/share/keyrings/postgresql.gpg > /dev/null

De juiste PostgreSQL 16-repository kiezen

Nu is het tijd om de juiste PostgreSQL 16-repository voor uw behoeften te selecteren.

Stabiele opslagplaats voor productie/algemeen gebruik

De stabiele repository is voor de meeste gebruikers de beste keuze, vooral in een productieomgeving. Het wordt regelmatig bijgewerkt met stabiele en veilige versies:

echo deb [arch=amd64,arm64,ppc64el signed-by=/usr/share/keyrings/postgresql.gpg] http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main | sudo tee /etc/apt/sources.list.d/postgresql.list

Snapshot- of testrepository's voor ontwikkelaars

Overweeg de snapshot- of testrepository's als u zich in de ontwikkelings- of testfase bevindt. Houd er echter rekening mee dat deze niet bedoeld zijn voor productiegebruik vanwege hun minder stabiele aard.

Snapshot Repository voor geavanceerde tests

Bekijk hier de nieuwste snapshots:

echo deb [arch=amd64,arm64,ppc64el signed-by=/usr/share/keyrings/postgresql.gpg] http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg-snapshot main | sudo tee /etc/apt/sources.list.d/postgresql.list
Testrepository voor de nieuwste functies

Om de nieuwste functies te testen, zal deze opdracht je instellen:

echo deb [arch=amd64,arm64,ppc64el signed-by=/usr/share/keyrings/postgresql.gpg] http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg-testing main | sudo tee /etc/apt/sources.list.d/postgresql.list

Installeer PostgreSQL 16 via Terminal-opdrachten

Vernieuw de lijst met APT-pakketindexbronnen

Na het toevoegen van de stabiele of testende PostgreSQL-repository, is het bijwerken van de bronnenlijst van uw repository belangrijk. Deze actie zorgt ervoor dat uw systeem de nieuw toegevoegde PostgreSQL-repository herkent:

sudo apt update

Installeer PostgreSQL 16 via APT-opdracht

Laten we nu verder gaan met de installatie van PostgreSQL 16. Met deze opdracht installeert u zowel de PostgreSQL-client als de server:

sudo apt install postgresql-client-16 postgresql-16

PostgreSQL-installatie verifiëren

Zodra de installatie is voltooid, is het van cruciaal belang om te bevestigen dat PostgreSQL correct is geïnstalleerd en actief is. Met deze opdracht wordt de status van de PostgreSQL-service gecontroleerd:

systemctl status postgresql

PostgreSQL 16 activeren

Als PostgreSQL niet actief is, gebruikt u deze opdracht om de PostgreSQL-service te starten. Dit zorgt er ook voor dat PostgreSQL automatisch start met uw systeem:

sudo systemctl enable postgresql --now

Beheer van de PostgreSQL 16-service

De PostgreSQL 16-server stoppen

Gebruik deze opdracht om de PostgreSQL-service tijdelijk te stoppen, bijvoorbeeld voor onderhoud of configuratiewijzigingen:

sudo systemctl stop postgresql

De PostgreSQL 16-server starten

Wanneer u klaar bent om de PostgreSQL-service te starten, vooral na een stop of initiële installatie, komt deze opdracht van pas:

sudo systemctl start postgresql

De PostgreSQL 16-server opnieuw opstarten

In scenario's waarin u configuraties of updates hebt gewijzigd, is een herstart vaak noodzakelijk. Met deze opdracht wordt de PostgreSQL-service opnieuw gestart en worden eventuele nieuwe wijzigingen toegepast:

sudo systemctl restart postgresql

De PostgreSQL 16-server opnieuw laden

Gebruik deze opdracht om de PostgreSQL-service opnieuw te laden zonder de werking ervan te onderbreken. Dit is handig als u kleine configuratiewijzigingen moet aanbrengen:

sudo systemctl reload postgresql

PostgreSQL 16-status controleren

Om de operationele status van de PostgreSQL-service te verifiëren, inclusief of deze actief is en zonder problemen draait, gebruikt u:

systemctl status postgresql

PostgreSQL 16 inschakelen bij het opstarten van het systeem

Als PostgreSQL niet is ingesteld om automatisch te starten, wordt dit met deze opdracht ingeschakeld, zodat het onmiddellijk actief is en ook bij daaropvolgende systeemstarts:

sudo systemctl enable postgresql --now

Basisvoorbeeldopdrachten met PostgreSQL 16

Toegang tot het Postgres-gebruikersaccount

In PostgreSQL is de 'postgres'-gebruiker een standaard superuser-rol. Dit account is cruciaal voor het uitvoeren van administratieve opdrachten. Om naar dit account over te schakelen, gebruikt u:

sudo -i -u postgres

Eenmaal in het account voert u de PostgreSQL-opdrachtregelinterface in:

psql

De prompt postgres=# bevestigt uw verbinding met de PostgreSQL-omgeving. Om af te sluiten typt u gewoon exit.

Snelle toegang tot PostgreSQL zonder gebruikerswisseling

Voor snelle bewerkingen zonder het gebruikersaccount te wijzigen, gaat u rechtstreeks naar PostgreSQL:

sudo -u postgres psql

Deze opdracht bespaart tijd bij routinetaken. Om deze interface te verlaten, typt u exit.

Een nieuwe PostgreSQL-gebruikersrol maken

Dankzij de flexibiliteit van PostgreSQL kunnen superusers gebruikersrollen creëren. Om een ​​nieuwe gebruikersrol vast te stellen, geeft u deze opdracht:

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

Vervangen <username> met uw gewenste gebruikersnaam.

Een nieuwe PostgreSQL-database initiëren

Om een ​​nieuwe database voor uw gebruiker in te stellen:

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

Vervangen <database_name> met de beoogde naam voor uw database.

Gebruikersrechten toewijzen aan een database

Wijs veilig databasetoegang toe:

sudo -u postgres psql
GRANT ALL PRIVILEGES ON DATABASE <database_name> TO <username>;

Vervanging <database_name> En <username> zoals gevraagd. Sluit af door te typen exit.

Configureer UFW Firewall voor PostgreSQL 16

Installeren en activeren van de UFW Firewall

Zorg ervoor dat de UFW (Uncomplicated Firewall) op uw systeem is geïnstalleerd en geactiveerd. UFW vereenvoudigt het firewallbeheer en is essentieel voor het beveiligen van netwerkverkeer:

sudo apt install ufw
sudo ufw enable

UFW-regels instellen voor PostgreSQL 16

PostgreSQL communiceert standaard op poort 5432. Het is noodzakelijk om UFW te configureren om verkeer op deze poort toe te staan, vooral wanneer u verbinding maakt vanaf externe locaties.

Subnettoegang toestaan

Gebruik deze opdracht om toegang tot een reeks IP-adressen binnen een subnet toe te staan:

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

Vervangen 192.168.1.0/24 met uw specifieke subnetbereik.

Individuele IP-toegang toestaan

Om toegang tot PostgreSQL te verlenen vanaf één enkel IP-adres, gebruikt u:

sudo ufw allow proto tcp from 192.168.1.0 to any port 5432

Bewerken 192.168.1.0 naar het IP-adres dat u wilt toestaan.

Dit zijn slechts basisvoorbeelden. U kunt overwegen om openbare databases voor de lange termijn zoveel mogelijk af te sluiten.

Configureer PostgreSQL 16

Schakel externe toegang in PostgreSQL 16 in

Als u PostgreSQL configureert om externe verbindingen te accepteren, moet u het luisteradres aanpassen vanuit de standaard lokale interface.

De configuratie voor externe toegang wijzigen

Toegang tot het PostgreSQL-configuratiebestand:

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

Wijzig dit in het gedeelte 'Verbindingsinstellingen' listen_addresses = 'localhost' op uw specifieke behoeften:

  • Vervang 'localhost' door het gewenste IP-adres voor een enkel IP-adres.
  • Om verbindingen op alle interfaces toe te staan, gebruikt u listen_addresses = '*'.

Nadat u de wijzigingen heeft aangebracht, slaat u deze op met CTRL+O en sluit u af met CTRL+X. Start vervolgens PostgreSQL opnieuw:

sudo systemctl restart postgresql

Controleer de wijzigingen met:

ss -nlt | grep 5432

In de uitvoer zou poort 5432 actief moeten zijn.

Configureren van pg_hba.conf voor verbeterde beveiliging

Bewerk de pg_hba.conf bestand voor verfijnde toegangscontrole:

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

Gebruikers- en databasetoegang aanpassen

In pg_hba.conf, kunt u opgeven welke gebruikers en databases verbinding kunnen maken, en vanaf welke adressen. Hier zijn enkele veelvoorkomende configuraties:

  • Gebruikerspecifieke toegang: Vervang 'all' door een specifieke gebruikersnaam om de toegang tot alleen die gebruiker te beperken.
  • Databasespecifieke toegang: Geef een bepaalde database op in plaats van toegang tot alle databases toe te staan.
  • Adresbeperkingen: definieer specifieke IP-adressen of -bereiken (bijv. 192.168.1.0/24) om te beperken waar verbindingen kunnen ontstaan.

Authenticatiemethoden kiezen

PostgreSQL ondersteunt verschillende authenticatiemethoden:

  • MD5: Vereist een wachtwoord en codeert dit met MD5.
  • Wachtwoord: Gebruikt wachtwoorden in platte tekst (minder veilig, niet aanbevolen voor productie).
  • Gelijke: Is afhankelijk van de gebruikersidentiteit op besturingssysteemniveau (gebruikelijk voor lokale verbindingen).
  • Identificeer: vergelijkbaar met 'peer', meestal gebruikt voor netwerkverbindingen.
  • SCRAM-SHA-256: Een veiligere methode, aanbevolen via MD5 of wachtwoord.

Prestaties afstemmen postgresql.conf

Voor prestatie-optimalisatie kunt u deze instellingen in overweging nemen postgresql.conf:

  • gedeelde_buffers: Past de hoeveelheid geheugen aan die PostgreSQL gebruikt voor gedeelde geheugenbuffers.
  • werk_mem: Stelt het geheugen in dat wordt gebruikt voor interne sorteer- en hashbewerkingen.
  • max_verbindingen: Beheert het maximale aantal gelijktijdige verbindingen met de database.

Monitoring en diagnostiek

Schakel gedetailleerde logboekregistratie in voor inzicht in databaseprestaties en problemen:

  • log_statement: Instellen op 'all' om elke uitgevoerde SQL-instructie te loggen.
  • log_duur: Indien ingeschakeld, wordt de duur van elke voltooide SQL-instructie geregistreerd.

Conclusie

We hebben zojuist een uitgebreide handleiding doorgenomen voor het instellen van PostgreSQL 16 op Ubuntu, waarin alles wordt behandeld, van de installatie en het configureren van externe toegang tot het aanscherpen van de beveiliging met firewallregels. Bedenk dat het weliswaar geweldig is om PostgreSQL actief te hebben, maar dat de echte sleutel ligt in regelmatig onderhoud en veiligheidscontroles.

handige links

Hier zijn enkele nuttige links met betrekking tot het installeren van PostgreSQL 16 op Ubuntu Linux:

  • Releaseopmerkingen voor PostgreSQL 16: Lees de release-opmerkingen voor PostgreSQL 16 voor meer informatie over nieuwe functies, verbeteringen en bugfixes.
  • PostgreSQL GitHub-opslagplaats: Bezoek de officiële PostgreSQL GitHub-repository om toegang te krijgen tot de broncode, problemen te melden en bij te dragen aan de ontwikkeling.
  • PostgreSQL-documentatie: Toegang tot de uitgebreide PostgreSQL-documentatie voor gedetailleerde installatie-, configuratie- en gebruikshandleidingen.
  • PostgreSQL-gemeenschap: Sluit u aan bij de PostgreSQL-gemeenschap om in contact te komen met andere gebruikers, deel te nemen aan discussies en ondersteuning te krijgen.
Joshua James
Volg mij
Laatste berichten van Joshua James (alles zien)

Plaats een reactie