Sådan installeres PostgreSQL 16 på Ubuntu 24.04, 22.04 eller 20.04

PostgreSQL 16 markerer en væsentlig opdatering i verden af ​​databasestyringssystemer. Officielt udgivet den 14. september 2023 introducerer PostgreSQL 16 mange nye funktioner og forbedringer, hvilket styrker sin position som en robust og alsidig databaseløsning for brugere, administratorer og udviklere.

Nedenfor er nogle af de vigtigste funktioner i PostgreSQL 16:

  • Paralleliseringsforbedringer: PostgreSQL 16 tillader parallelisering af FULL og interne højre OUTER hash joins, hvilket væsentligt forbedrer forespørgselsydeevnen.
  • Replikeringsforbedringer: Det introducerer muligheden for logisk replikering fra standby-servere og giver abonnenter mulighed for at anvende store transaktioner parallelt.
  • Overvågningsevner: Tilføjelse af pg_stat_io-visningen muliggør mere dybdegående overvågning af I/O-statistikker.
  • SQL/JSON support: Denne udgivelse introducerer SQL/JSON-konstruktører og identitetsfunktioner, hvilket udvider dens datahåndteringsmuligheder.
  • Vakuumfrysningsydelse: PostgreSQL 16 forbedrer ydeevnen ved vakuumfrysning, hvilket hjælper med effektiv databasevedligeholdelse.
  • Matching af regulære udtryk: Matchning af regulære udtryk for bruger- og databasenavne i pg_hba.conf og brugernavne i pg_ident.conf øger sikkerheden og fleksibiliteten.

Lad os nu gå videre til den tekniske vejledning og dykke ned i installationsprocessen af ​​PostgreSQL 16.

Forudsætninger for installation af PostgreSQL 16

For at installere PostgreSQL 16 på Ubuntu skal du sikre dig, at du opfylder følgende krav:

Anbefalet hardware og understøttede Ubuntu-versioner

KomponentKrav
Processor1 gigahertz (GHz) eller hurtigere kompatibel processor
vædder2 GB eller mere
Diskplads512 MB HDD (der kræves ekstra diskplads til data eller understøttende komponenter)
Understøttede versionerUbuntu 24.04 (Noble), Ubuntu 22.04 (Jammy), Ubuntu 20.04 (Fokal)

Yderligere krav

KravBeskrivelse
InternetforbindelseNødvendig for at downloade PostgreSQL 16 og fremtidige opdateringer.
TerminalkonventionerAlle terminalkommandoer skal køres som en almindelig bruger med sudo privilegier.
CLI kommandoerBrug Command Line Interface (CLI) til installation og opsætning.

Importer PostgreSQL APT Repository

Opdater Ubuntu før PostgreSQL 16-installation

Start med at sikre, at dit Ubuntu-system er opdateret. Dette trin er afgørende for at opretholde systemets stabilitet og kompatibilitet:

sudo apt update

Opgrader derefter alle pakker, der er forældede:

sudo apt upgrade

Installer indledende pakker til PostgreSQL 16

For at hjælpe med at installere databasesoftwaren skal du installere følgende pakker:

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

Tilføj PostgreSQL 16 APT Repository

Importer først PostgreSQL GPG-nøglen. Dette handler om at sikre, at de pakker, du er ved at installere, er ægte og umanipulerede:

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

Valg af det rigtige PostgreSQL 16-lager

Nu er det tid til at vælge det passende PostgreSQL 16-lager til dine behov.

Stabilt lager til produktion / almen brug

Det stabile arkiv er dit go-to for de fleste brugere, især i et produktionsmiljø. Den opdateres jævnligt med stabile og sikre versioner:

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 eller testlagre for udviklere

Overvej øjebliksbilledet eller testlagrene, hvis du er i udviklings- eller testfasen. Husk dog, at disse ikke er til produktionsbrug på grund af deres mindre stabile karakter.

Snapshot-lager til banebrydende test

Tag de seneste snapshots her:

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
Test Repository for de nyeste funktioner

For at teste de nyeste funktioner vil denne kommando indstille dig:

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

Installer PostgreSQL 16 via terminalkommandoer

Opdater APT Package Index Kildeliste

Efter at have tilføjet enten det stabile eller testede PostgreSQL-depot, er det vigtigt at opdatere din repository-kildeliste. Denne handling sikrer, at dit system genkender det nyligt tilføjede PostgreSQL-lager:

sudo apt update

Installer PostgreSQL 16 via APT Command

Lad os nu gå videre til installationen af ​​PostgreSQL 16. Denne kommando installerer både PostgreSQL-klienten og serveren:

sudo apt install postgresql-client-16 postgresql-16

Bekræftelse af PostgreSQL-installation

Når installationen er færdig, er det afgørende at bekræfte, at PostgreSQL er installeret korrekt og kører. Denne kommando kontrollerer status for PostgreSQL-tjenesten:

systemctl status postgresql

Aktivering af PostgreSQL 16

Hvis PostgreSQL ikke er aktiv, skal du bruge denne kommando til at starte PostgreSQL-tjenesten. Dette sikrer også, at PostgreSQL starter automatisk med dit system:

sudo systemctl enable postgresql --now

Håndtering af PostgreSQL 16 Service

Stop af PostgreSQL 16-serveren

For at stoppe PostgreSQL-tjenesten midlertidigt, måske for vedligeholdelse eller konfigurationsændringer, skal du bruge denne kommando:

sudo systemctl stop postgresql

Start af PostgreSQL 16-serveren

Når du er klar til at starte PostgreSQL-tjenesten, især efter et stop eller indledende installation, er denne kommando praktisk:

sudo systemctl start postgresql

Genstart af PostgreSQL 16-serveren

I scenarier, hvor du har ændret konfigurationer eller opdateringer, er en genstart ofte nødvendig. Denne kommando genstarter PostgreSQL-tjenesten og anvender eventuelle nye ændringer:

sudo systemctl restart postgresql

Genindlæsning af PostgreSQL 16-serveren

Brug denne kommando for at genindlæse PostgreSQL-tjenesten uden at forstyrre dens drift. Det er nyttigt, når du skal anvende mindre konfigurationsændringer:

sudo systemctl reload postgresql

Kontrollerer PostgreSQL 16-status

For at verificere den operationelle status for PostgreSQL-tjenesten, herunder om den er aktiv og kører uden problemer, skal du bruge:

systemctl status postgresql

Aktivering af PostgreSQL 16 ved systemstart

Hvis PostgreSQL ikke er indstillet til at starte automatisk, vil denne kommando aktivere den, hvilket sikrer, at den er aktiv med det samme og ved efterfølgende systemopstart:

sudo systemctl enable postgresql --now

Grundlæggende eksempelkommandoer med PostgreSQL 16

Adgang til Postgres-brugerkontoen

I PostgreSQL er 'postgres'-brugeren en standard superbrugerrolle. Denne konto er afgørende for udførelse af administrative kommandoer. For at skifte til denne konto skal du bruge:

sudo -i -u postgres

Når du er på kontoen, skal du indtaste PostgreSQL-kommandolinjegrænsefladen:

psql

Spørgsmålet postgres=# bekræfter din forbindelse til PostgreSQL-miljøet. For at afslutte skal du blot skrive exit.

Hurtig adgang til PostgreSQL uden brugerskift

For hurtige operationer uden at ændre brugerkontoen, få direkte adgang til PostgreSQL:

sudo -u postgres psql

Denne kommando er en tidsbesparende for rutineopgaver. For at forlade denne grænseflade skal du skrive exit.

Oprettelse af en ny PostgreSQL-brugerrolle

PostgreSQL's fleksibilitet gør det muligt for superbrugere at oprette brugerroller. For at etablere en ny brugerrolle skal du udføre denne kommando:

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

Erstatte <username> med dit ønskede brugernavn.

Start af en ny PostgreSQL-database

Sådan opsætter du en ny database til din bruger:

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

Erstatte <database_name> med det tilsigtede navn til din database.

Tildeling af brugerrettigheder til en database

Tildel sikkert databaseadgang:

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

Erstatning <database_name> og <username> som krævet. Afslut med at skrive exit.

Konfigurer UFW Firewall til PostgreSQL 16

Installation og aktivering af UFW Firewall

Sørg for, at UFW (Ukompliceret firewall) er installeret og aktiveret på dit system. UFW forenkler firewall-administration og er afgørende for at sikre netværkstrafik:

sudo apt install ufw
sudo ufw enable

Opsætning af UFW-regler for PostgreSQL 16

PostgreSQL kommunikerer på port 5432 som standard. Det er nødvendigt at konfigurere UFW til at tillade trafik på denne port, især når der oprettes forbindelse fra fjerntliggende steder.

Tillader undernetadgang

For at tillade adgang til en række IP-adresser i et undernet skal du bruge denne kommando:

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

Erstatte 192.168.1.0/24 med dit specifikke subnet-område.

Tillader individuel IP-adgang

For at give adgang til PostgreSQL fra en enkelt IP-adresse skal du bruge:

sudo ufw allow proto tcp from 192.168.1.0 to any port 5432

Modificere 192.168.1.0 til den IP-adresse, du vil tillade.

Disse er blot grundlæggende eksempler. Du bør overveje at låse enhver offentlig database så meget som muligt på lang sigt.

Konfigurer PostgreSQL 16

Aktiver fjernadgang i PostgreSQL 16

Konfiguration af PostgreSQL til at acceptere fjernforbindelser involverer justering af lytteadressen fra den lokale standardgrænseflade.

Ændring af konfigurationen for fjernadgang

Få adgang til PostgreSQL-konfigurationsfilen:

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

I afsnittet "Forbindelsesindstillinger" skal du ændre listen_addresses = 'localhost' til dine specifikke behov:

  • Erstat 'localhost' med den ønskede IP-adresse for en enkelt IP.
  • For at tillade forbindelser på alle grænseflader, brug listen_addresses = '*'.

Når du har foretaget ændringer, skal du gemme med CTRL+O og afslutte med CTRL+X. Genstart derefter PostgreSQL:

sudo systemctl restart postgresql

Bekræft ændringerne med:

ss -nlt | grep 5432

I outputtet skulle du se port 5432 aktiv.

Konfiguration af pg_hba.conf til forbedret sikkerhed

Rediger pg_hba.conf fil til finjusteret adgangskontrol:

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

Tilpasning af bruger- og databaseadgang

I pg_hba.conf, kan du angive, hvilke brugere og databaser der kan oprette forbindelse, og fra hvilke adresser. Her er nogle almindelige konfigurationer:

  • Brugerspecifik adgang: Erstat 'alle' med et specifikt brugernavn for kun at begrænse adgangen til denne bruger.
  • Databasespecifik adgang: Angiv en bestemt database i stedet for at tillade adgang til alle databaser.
  • Adressebegrænsninger: Definer specifikke IP-adresser eller områder (f.eks. 192.168.1.0/24) for at begrænse, hvor forbindelser kan komme fra.

Valg af godkendelsesmetoder

PostgreSQL understøtter forskellige godkendelsesmetoder:

  • MD5: Kræver en adgangskode og krypterer den med MD5.
  • Adgangskode: Bruger almindelig tekst-adgangskoder (mindre sikker, anbefales ikke til produktion).
  • Peer: Afhænger af brugeridentitet på OS-niveau (fælles for lokale forbindelser).
  • Ident: Svarer til 'peer', der typisk bruges til netværksforbindelser.
  • SCRAM-SHA-256: En mere sikker metode, anbefalet over MD5 eller adgangskode.

Indstil ydeevne postgresql.conf

For ydeevneoptimering skal du overveje disse indstillinger i postgresql.conf:

  • delte_buffere: Justerer mængden af ​​hukommelse, PostgreSQL bruger til delte hukommelsesbuffere.
  • work_mem: Indstiller den hukommelse, der bruges til intern sortering og hashing.
  • max_forbindelser: Styrer det maksimale antal samtidige forbindelser til databasen.

Overvågning og diagnostik

Aktiver detaljeret logning for at få indsigt i databasens ydeevne og problemer:

  • log_erklæring: Indstil til 'alle' for at logge alle udførte SQL-sætninger.
  • log_duration: Når det er aktiveret, logges varigheden af ​​hver fuldført SQL-sætning.

Konklusion

Vi har netop gennemgået en omfattende guide til opsætning af PostgreSQL 16 på Ubuntu, der dækker alt fra installation og konfiguration af fjernadgang til at skærpe sikkerheden med firewall-regler. Husk, at selvom det er fantastisk at have PostgreSQL op at køre, ligger den virkelige nøgle i regelmæssig vedligeholdelse og sikkerhedstjek.

nyttige links

Her er nogle nyttige links relateret til installation af PostgreSQL 16 på Ubuntu Linux:

  • PostgreSQL 16 Release Notes: Læs udgivelsesbemærkningerne til PostgreSQL 16 for at lære om nye funktioner, forbedringer og fejlrettelser.
  • PostgreSQL GitHub Repository: Besøg det officielle PostgreSQL GitHub-lager for at få adgang til kildekoden, rapportere problemer og bidrage til udviklingen.
  • PostgreSQL dokumentation: Få adgang til den omfattende PostgreSQL-dokumentation for detaljerede installations-, konfigurations- og brugsvejledninger.
  • PostgreSQL-fællesskab: Deltag i PostgreSQL-fællesskabet for at oprette forbindelse til andre brugere, deltage i diskussioner og få support.
Joshua James
Følg mig
Seneste indlæg af Joshua James (se alt)

Skriv en kommentar