Hur man installerar PostgreSQL 16 på Ubuntu 24.04, 22.04 eller 20.04

PostgreSQL 16 markerar en betydande uppdatering i världen av databashanteringssystem. Officiellt släppt den 14 september 2023 introducerar PostgreSQL 16 många nya funktioner och förbättringar, vilket stärker sin position som en robust och mångsidig databaslösning för användare, administratörer och utvecklare.

Nedan är några av de viktigaste funktionerna i PostgreSQL 16:

  • Parallelliseringsförbättringar: PostgreSQL 16 tillåter parallellisering av FULL och interna höger OUTER hash-kopplingar, vilket avsevärt förbättrar frågeprestanda.
  • Replikeringsförbättringar: Den introducerar möjligheten för logisk replikering från standby-servrar och tillåter abonnenter att tillämpa stora transaktioner parallellt.
  • Övervakningskapacitet: Lägga till vyn pg_stat_io möjliggör mer djupgående övervakning av I/O-statistik.
  • SQL/JSON-stöd: Den här utgåvan introducerar SQL/JSON-konstruktörer och identitetsfunktioner, vilket breddar dess datahanteringsmöjligheter.
  • Vakuumfrysningsprestanda: PostgreSQL 16 förbättrar prestandan för vakuumfrysning, vilket hjälper till med effektivt databasunderhåll.
  • Matchning av reguljära uttryck: Matchning av reguljära uttryck för användar- och databasnamn i pg_hba.conf och användarnamn i pg_ident.conf ökar säkerheten och flexibiliteten.

Låt oss nu gå vidare till den tekniska instruktionen och fördjupa oss i installationsprocessen för PostgreSQL 16.

Förutsättningar för att installera PostgreSQL 16

För att framgångsrikt installera PostgreSQL 16 på Ubuntu, se till att du uppfyller följande krav:

Rekommenderad hårdvara och Ubuntu-versioner som stöds

KomponentKrav
Processor1 gigahertz (GHz) eller snabbare kompatibel processor
Bagge2 GB eller mer
Disk utrymme512 MB hårddisk (extra diskutrymme krävs för data eller stödjande komponenter)
Stödda versionerUbuntu 24.04 (Noble), Ubuntu 22.04 (Jammy), Ubuntu 20.04 (Fokal)

Ytterligare krav

KravBeskrivning
Internet anslutningKrävs för att ladda ner PostgreSQL 16 och framtida uppdateringar.
TerminalkonventionerAlla terminalkommandon bör köras som en vanlig användare med sudo privilegier.
CLI-kommandonAnvänd kommandoradsgränssnittet (CLI) för installation och inställning.

Importera PostgreSQL APT Repository

Uppdatera Ubuntu innan PostgreSQL 16-installation

Börja med att se till att ditt Ubuntu-system är uppdaterat. Detta steg är avgörande för att upprätthålla systemstabilitet och kompatibilitet:

sudo apt update

Uppgradera sedan alla paket som är inaktuella:

sudo apt upgrade

Installera initiala paket för PostgreSQL 16

För att hjälpa dig att installera databasprogramvaran, installera följande paket:

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

Lägg till PostgreSQL 16 APT Repository

Importera först PostgreSQL GPG-nyckeln. Det här handlar om att se till att paketen du ska installera är äkta och opåverkade:

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

Att välja rätt PostgreSQL 16-förråd

Nu är det dags att välja lämpligt PostgreSQL 16-förråd för dina behov.

Stabilt förråd för produktion / allmänt bruk

Det stabila arkivet är ditt val för de flesta användare, särskilt i en produktionsmiljö. Den uppdateras regelbundet med stabila och säkra 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

Ögonblicksbild eller testarkiv för utvecklare

Tänk på ögonblicksbilden eller testförråden om du är i utvecklings- eller testfasen. Kom bara ihåg att dessa inte är för produktionsanvändning på grund av deras mindre stabila karaktär.

Snapshot Repository för banbrytande testning

Ta de senaste bilderna här:

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
Testa arkivet för de senaste funktionerna

För att testa de senaste funktionerna kommer detta kommando att ställa in 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

Installera PostgreSQL 16 via terminalkommandon

Uppdatera källlistan för APT-paketindex

Efter att ha lagt till antingen det stabila eller testade PostgreSQL-förvaret är det viktigt att uppdatera din förvarskälllista. Denna åtgärd säkerställer att ditt system känner igen det nyligen tillagda PostgreSQL-förrådet:

sudo apt update

Installera PostgreSQL 16 via APT Command

Låt oss nu gå vidare till installationen av PostgreSQL 16. Detta kommando installerar både PostgreSQL-klienten och servern:

sudo apt install postgresql-client-16 postgresql-16

Verifierar PostgreSQL-installationen

När installationen är klar är det viktigt att bekräfta att PostgreSQL är korrekt installerat och körs. Detta kommando kontrollerar statusen för PostgreSQL-tjänsten:

systemctl status postgresql

Aktivera PostgreSQL 16

Om PostgreSQL inte är aktivt, använd det här kommandot för att starta PostgreSQL-tjänsten. Detta säkerställer också att PostgreSQL startar automatiskt med ditt system:

sudo systemctl enable postgresql --now

Hantera PostgreSQL 16-tjänsten

Stoppa PostgreSQL 16-servern

För att stoppa PostgreSQL-tjänsten tillfälligt, kanske för underhåll eller konfigurationsändringar, använd det här kommandot:

sudo systemctl stop postgresql

Starta PostgreSQL 16-servern

När du är redo att starta PostgreSQL-tjänsten, särskilt efter ett stopp eller initial installation, kommer det här kommandot väl till pass:

sudo systemctl start postgresql

Startar om PostgreSQL 16-servern

I scenarier där du har ändrat konfigurationer eller uppdateringar är en omstart ofta nödvändig. Detta kommando startar om PostgreSQL-tjänsten och tillämpar eventuella nya ändringar:

sudo systemctl restart postgresql

Laddar om PostgreSQL 16-servern

För att ladda om PostgreSQL-tjänsten utan att störa dess funktion, använd det här kommandot. Det är användbart när du behöver tillämpa mindre konfigurationsändringar:

sudo systemctl reload postgresql

Kontrollerar PostgreSQL 16-status

För att verifiera driftstatusen för PostgreSQL-tjänsten, inklusive om den är aktiv och körs utan problem, använd:

systemctl status postgresql

Aktiverar PostgreSQL 16 vid systemstart

Om PostgreSQL inte är inställt på att starta automatiskt, kommer detta kommando att aktivera det, vilket säkerställer att det är aktivt omedelbart och vid efterföljande systemstarter:

sudo systemctl enable postgresql --now

Grundläggande exempel på kommandon med PostgreSQL 16

Åtkomst till Postgres användarkonto

I PostgreSQL är "postgres"-användaren en standard superanvändarroll. Detta konto är avgörande för att utföra administrativa kommandon. För att byta till det här kontot, använd:

sudo -i -u postgres

Väl på kontot anger du PostgreSQL kommandoradsgränssnitt:

psql

Uppmaningen postgres=# bekräftar din anslutning till PostgreSQL-miljön. För att avsluta skriver du helt enkelt exit.

Snabb åtkomst till PostgreSQL utan användarväxling

För snabba operationer utan att ändra användarkontot, gå direkt åt PostgreSQL:

sudo -u postgres psql

Detta kommando är en tidsbesparare för rutinuppgifter. För att lämna det här gränssnittet, skriv exit.

Skapa en ny PostgreSQL-användarroll

PostgreSQL:s flexibilitet tillåter superanvändare att skapa användarroller. För att skapa en ny användarroll, utfärda detta kommando:

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

Byta ut <username> med ditt önskade användarnamn.

Initiera en ny PostgreSQL-databas

Så här skapar du en ny databas för din användare:

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

Byta ut <database_name> med det avsedda namnet för din databas.

Tilldela användarrättigheter till en databas

Tilldela databasåtkomst på ett säkert sätt:

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

Ersättning <database_name> och <username> såsom krävs. Avsluta med att skriva exit.

Konfigurera UFW-brandvägg för PostgreSQL 16

Installera och aktivera UFW-brandväggen

Se till att UFW (Okomplicerad brandvägg) är installerad och aktiverad på ditt system. UFW förenklar brandväggshanteringen och är avgörande för att säkra nätverkstrafik:

sudo apt install ufw
sudo ufw enable

Ställa in UFW-regler för PostgreSQL 16

PostgreSQL kommunicerar på port 5432 som standard. Det är nödvändigt att konfigurera UFW för att tillåta trafik på den här porten, särskilt när du ansluter från avlägsna platser.

Tillåter åtkomst till subnät

För att tillåta åtkomst till ett antal IP-adresser inom ett subnät, använd det här kommandot:

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

Byta ut 192.168.1.0/24 med ditt specifika delnätsområde.

Tillåter individuell IP-åtkomst

För att ge åtkomst till PostgreSQL från en enda IP-adress, använd:

sudo ufw allow proto tcp from 192.168.1.0 to any port 5432

Ändra 192.168.1.0 till den IP-adress du vill tillåta.

Det här är bara grundläggande exempel. Du bör överväga att låsa alla databaser som är riktade till allmänheten så mycket som möjligt på lång sikt.

Konfigurera PostgreSQL 16

Aktivera fjärråtkomst i PostgreSQL 16

Att konfigurera PostgreSQL för att acceptera fjärranslutningar innebär justering av lyssningsadressen från det lokala standardgränssnittet.

Ändra konfigurationen för fjärråtkomst

Öppna PostgreSQL-konfigurationsfilen:

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

Ändra i avsnittet "Anslutningsinställningar". listen_addresses = 'localhost' till dina specifika behov:

  • Ersätt 'localhost' med den önskade IP-adressen för en enda IP.
  • För att tillåta anslutningar på alla gränssnitt, använd listen_addresses = '*'.

När du har gjort ändringar, spara med CTRL+O och avsluta med CTRL+X. Starta sedan om PostgreSQL:

sudo systemctl restart postgresql

Verifiera ändringarna med:

ss -nlt | grep 5432

I utgången bör du se port 5432 aktiv.

Konfigurerar pg_hba.conf för förbättrad säkerhet

Redigera pg_hba.conf fil för finjusterad åtkomstkontroll:

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

Anpassa användar- och databasåtkomst

I pg_hba.conf, kan du ange vilka användare och databaser som kan ansluta och från vilka adresser. Här är några vanliga konfigurationer:

  • Användarspecifik åtkomst: Ersätt "alla" med ett specifikt användarnamn för att begränsa åtkomsten till endast den användaren.
  • Databasspecifik åtkomst: Ange en viss databas istället för att tillåta åtkomst till alla databaser.
  • Adressbegränsningar: Definiera specifika IP-adresser eller intervall (t.ex. 192.168.1.0/24) för att begränsa var anslutningar kan komma.

Välja autentiseringsmetoder

PostgreSQL stöder olika autentiseringsmetoder:

  • MD5: Kräver ett lösenord och krypterar det med MD5.
  • Lösenord: Använder vanlig textlösenord (mindre säkert, rekommenderas inte för produktion).
  • Jämlikar: Förlitar sig på användaridentitet på OS-nivå (vanligtvis för lokala anslutningar).
  • Ident: Liknar "peer", som vanligtvis används för nätverksanslutningar.
  • SCRAM-SHA-256: En säkrare metod, rekommenderas över MD5 eller lösenord.

Stämma in prestanda postgresql.conf

För prestandaoptimering, överväg dessa inställningar i postgresql.conf:

  • shared_buffers: Justerar mängden minne som PostgreSQL använder för delade minnesbuffertar.
  • work_mem: Ställer in minnet som används för intern sortering och hashning.
  • max_anslutningar: Styr det maximala antalet samtidiga anslutningar till databasen.

Övervakning och diagnostik

Aktivera detaljerad loggning för insikter om databasprestanda och problem:

  • log_statement: Ställ in på 'alla' för att logga varje SQL-sats som körs.
  • log_duration: När det är aktiverat, loggar varaktigheten för varje färdig SQL-sats.

Slutsats

Vi har precis gått igenom en omfattande guide för att ställa in PostgreSQL 16 på Ubuntu, som täcker allt från installation och konfigurering av fjärråtkomst till skärpning av säkerheten med brandväggsregler. Kom ihåg att även om det är bra att ha PostgreSQL igång, ligger den verkliga nyckeln i regelbundet underhåll och säkerhetskontroller.

Användbara länkar

Här är några användbara länkar relaterade till installation av PostgreSQL 16 på Ubuntu Linux:

  • PostgreSQL 16 Release Notes: Läs versionskommentarerna för PostgreSQL 16 för att lära dig om nya funktioner, förbättringar och buggfixar.
  • PostgreSQL GitHub Repository: Besök det officiella PostgreSQL GitHub-förrådet för att komma åt källkoden, rapportera problem och bidra till utvecklingen.
  • PostgreSQL-dokumentation: Få tillgång till den omfattande PostgreSQL-dokumentationen för detaljerade installations-, konfigurations- och användningsguider.
  • PostgreSQL-gemenskap: Gå med i PostgreSQL-communityt för att få kontakt med andra användare, delta i diskussioner och få support.
Joshua James
Följ mig
Senaste inläggen av Joshua James (se alla)

Lämna en kommentar