Jak nainstalovat PostgreSQL 16 na Ubuntu 24.04, 22.04 nebo 20.04

PostgreSQL 16 představuje významnou aktualizaci ve světě systémů pro správu databází. PostgreSQL 16, oficiálně vydaný 14. září 2023, přináší mnoho nových funkcí a vylepšení, čímž posiluje svou pozici robustního a všestranného databázového řešení pro uživatele, administrátory a vývojáře.

Níže jsou uvedeny některé z klíčových funkcí PostgreSQL 16:

  • Vylepšení paralelizace: PostgreSQL 16 umožňuje paralelizaci FULL a interního pravého OUTER hash spojení, což výrazně zlepšuje výkon dotazů.
  • Vylepšení replikace: Zavádí schopnost logické replikace z pohotovostních serverů a umožňuje předplatitelům paralelně provádět velké transakce.
  • Monitorovací schopnosti: Přidání pohledu pg_stat_io umožňuje podrobnější sledování statistik I/O.
  • Podpora SQL/JSON: Toto vydání představuje konstruktory SQL/JSON a funkce identity, čímž rozšiřuje možnosti zpracování dat.
  • Výkon vakuového mrazení: PostgreSQL 16 zlepšuje výkon vakuového zmrazování a napomáhá efektivní údržbě databáze.
  • Shoda regulárních výrazů: Shoda regulárních výrazů pro názvy uživatelů a databází v pg_hba.conf a uživatelská jména v pg_ident.conf zvyšuje bezpečnost a flexibilitu.

Nyní přejdeme k technickému postupu a ponoříme se do procesu instalace PostgreSQL 16.

Předpoklady pro instalaci PostgreSQL 16

Chcete-li úspěšně nainstalovat PostgreSQL 16 na Ubuntu, ujistěte se, že splňujete následující požadavky:

Doporučený hardware a podporované verze Ubuntu

KomponentPožadavek
Procesor1 gigahertz (GHz) nebo rychlejší kompatibilní procesor
RAM2 GB nebo více
Místo na disku512 MB HDD (vyžaduje další místo na disku pro data nebo podpůrné komponenty)
Podporované verzeUbuntu 24.04 (Noble), Ubuntu 22.04 (Jammy), Ubuntu 20.04 (ohnisková)

Další požadavky

PožadavekPopis
Připojení k internetuVyžadováno ke stažení PostgreSQL 16 a budoucích aktualizací.
Konvence terminálůVšechny příkazy terminálu by měly být spouštěny jako běžný uživatel pomocí sudo privilegia.
Příkazy CLIPro instalaci a nastavení použijte rozhraní příkazového řádku (CLI).

Importujte úložiště PostgreSQL APT

Aktualizujte Ubuntu před instalací PostgreSQL 16

Začněte tím, že zajistíte, aby váš systém Ubuntu byl aktuální. Tento krok je zásadní pro udržení stability a kompatibility systému:

sudo apt update

Dále upgradujte všechny balíčky, které jsou zastaralé:

sudo apt upgrade

Nainstalujte počáteční balíčky pro PostgreSQL 16

Chcete-li pomoci s instalací databázového softwaru, nainstalujte následující balíčky:

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

Přidejte úložiště PostgreSQL 16 APT

Nejprve importujte klíč PostgreSQL GPG. Jde o to zajistit, aby balíčky, které se chystáte nainstalovat, byly originální a neovlivňovaly:

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

Výběr správného úložiště PostgreSQL 16

Nyní je čas vybrat si vhodné úložiště PostgreSQL 16 pro vaše potřeby.

Stabilní úložiště pro produkční / obecné použití

Stabilní úložiště je vaším cílem pro většinu uživatelů, zejména v produkčním prostředí. Je pravidelně aktualizován o stabilní a bezpečné verze:

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

Snímek nebo testovací úložiště pro vývojáře

Zvažte snímek nebo testovací úložiště, pokud jste ve fázi vývoje nebo testování. Pamatujte však, že tyto nejsou pro produkční použití kvůli jejich méně stabilní povaze.

Úložiště snímků pro špičkové testování

Získejte nejnovější snímky zde:

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
Testovací úložiště pro nejnovější funkce

Chcete-li otestovat nejnovější funkce, tento příkaz vás nastaví:

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

Nainstalujte PostgreSQL 16 pomocí příkazů terminálu

Obnovit seznam zdrojů indexu balíčků APT

Po přidání stabilního nebo testovacího úložiště PostgreSQL je důležitá aktualizace seznamu zdrojů úložiště. Tato akce zajistí, že váš systém rozpozná nově přidané úložiště PostgreSQL:

sudo apt update

Nainstalujte PostgreSQL 16 pomocí příkazu APT

Nyní přejdeme k instalaci PostgreSQL 16. Tento příkaz nainstaluje klienta i server PostgreSQL:

sudo apt install postgresql-client-16 postgresql-16

Ověření instalace PostgreSQL

Po dokončení instalace je zásadní potvrdit, že je PostgreSQL správně nainstalován a spuštěn. Tento příkaz zkontroluje stav služby PostgreSQL:

systemctl status postgresql

Aktivace PostgreSQL 16

Pokud PostgreSQL není aktivní, použijte tento příkaz ke spuštění služby PostgreSQL. To také zajišťuje, že se PostgreSQL spustí automaticky s vaším systémem:

sudo systemctl enable postgresql --now

Správa služby PostgreSQL 16

Zastavení serveru PostgreSQL 16

Chcete-li dočasně zastavit službu PostgreSQL, například kvůli údržbě nebo změnám konfigurace, použijte tento příkaz:

sudo systemctl stop postgresql

Spuštění serveru PostgreSQL 16

Když jste připraveni spustit službu PostgreSQL, zejména po zastavení nebo počáteční instalaci, tento příkaz se hodí:

sudo systemctl start postgresql

Restartování serveru PostgreSQL 16

Ve scénářích, kde jste změnili konfigurace nebo aktualizace, je často nutný restart. Tento příkaz restartuje službu PostgreSQL a použije všechny nové změny:

sudo systemctl restart postgresql

Znovu načtení serveru PostgreSQL 16

Chcete-li znovu načíst službu PostgreSQL bez přerušení její činnosti, použijte tento příkaz. Je to užitečné, když potřebujete provést drobné změny konfigurace:

sudo systemctl reload postgresql

Kontrola stavu PostgreSQL 16

Chcete-li ověřit provozní stav služby PostgreSQL, včetně toho, zda je aktivní a běží bez problémů, použijte:

systemctl status postgresql

Povolení PostgreSQL 16 při spouštění systému

Pokud PostgreSQL není nastaveno na automatické spouštění, tento příkaz jej povolí a zajistí, že bude aktivní okamžitě a při následných startech systému:

sudo systemctl enable postgresql --now

Základní příklady příkazů s PostgreSQL 16

Přístup k uživatelskému účtu Postgres

V PostgreSQL je uživatel 'postgres' výchozí rolí superuživatele. Tento účet je klíčový pro provádění administrativních příkazů. Chcete-li přepnout na tento účet, použijte:

sudo -i -u postgres

Jakmile jste v účtu, zadejte rozhraní příkazového řádku PostgreSQL:

psql

Výzva postgres=# potvrzuje vaše připojení k prostředí PostgreSQL. Pro ukončení jednoduše napište exit.

Rychlý přístup k PostgreSQL bez přepínání uživatelů

Pro rychlé operace bez změny uživatelského účtu použijte přímý přístup k PostgreSQL:

sudo -u postgres psql

Tento příkaz šetří čas pro rutinní úkoly. Chcete-li opustit toto rozhraní, zadejte exit.

Vytvoření nové uživatelské role PostgreSQL

Flexibilita PostgreSQL umožňuje superuživatelům vytvářet uživatelské role. Chcete-li vytvořit novou uživatelskou roli, zadejte tento příkaz:

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

Nahradit <username> s požadovaným uživatelským jménem.

Spuštění nové databáze PostgreSQL

Chcete-li pro svého uživatele nastavit novou databázi:

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

Nahradit <database_name> se zamýšleným názvem vaší databáze.

Přiřazení uživatelských oprávnění k databázi

Bezpečně přiřadit přístup k databázi:

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

Nahradit <database_name> a <username> podle potřeby. Zakončete psaním exit.

Nakonfigurujte UFW Firewall pro PostgreSQL 16

Instalace a aktivace brány firewall UFW

Ujistěte se, že je ve vašem systému nainstalován a aktivován UFW (Uncomplicated Firewall). UFW zjednodušuje správu firewallu a je nezbytný pro zabezpečení síťového provozu:

sudo apt install ufw
sudo ufw enable

Nastavení pravidel UFW pro PostgreSQL 16

PostgreSQL standardně komunikuje na portu 5432. Je nutné nakonfigurovat UFW tak, aby umožňoval provoz na tomto portu, zejména při připojování ze vzdálených míst.

Povolení přístupu k podsíti

Chcete-li povolit přístup k rozsahu IP adres v rámci podsítě, použijte tento příkaz:

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

Nahradit 192.168.1.0/24 s vaším konkrétním rozsahem podsítě.

Povolení individuálního IP přístupu

Chcete-li udělit přístup k PostgreSQL z jediné IP adresy, použijte:

sudo ufw allow proto tcp from 192.168.1.0 to any port 5432

Modifikovat 192.168.1.0 na IP adresu, kterou chcete povolit.

To jsou jen základní příklady. Měli byste zvážit dlouhodobé uzamčení jakékoli veřejně přístupné databáze.

Nakonfigurujte PostgreSQL 16

Povolte vzdálený přístup v PostgreSQL 16

Konfigurace PostgreSQL pro akceptování vzdálených připojení zahrnuje úpravu naslouchací adresy z výchozího místního rozhraní.

Úprava konfigurace pro vzdálený přístup

Přístup ke konfiguračnímu souboru PostgreSQL:

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

V části „Nastavení připojení“ změňte listen_addresses = 'localhost' podle vašich konkrétních potřeb:

  • Nahraďte „localhost“ požadovanou IP adresou pro jednu IP.
  • Chcete-li povolit připojení na všech rozhraních, použijte listen_addresses = '*'.

Po provedení změn uložte pomocí CTRL+O a ukončete pomocí CTRL+X. Poté restartujte PostgreSQL:

sudo systemctl restart postgresql

Ověřte změny pomocí:

ss -nlt | grep 5432

Na výstupu byste měli vidět aktivní port 5432.

Konfigurace pg_hba.conf pro vylepšené zabezpečení

Upravit pg_hba.conf soubor pro vyladěné řízení přístupu:

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

Přizpůsobení přístupu uživatelů a databází

v pg_hba.conf, můžete určit, kteří uživatelé a databáze se mohou připojit az jakých adres. Zde jsou některé běžné konfigurace:

  • Přístup specifický pro uživatele: Nahraďte „vše“ konkrétním uživatelským jménem, ​​abyste omezili přístup pouze tomuto uživateli.
  • Přístup specifický pro databázi: Místo povolení přístupu ke všem databázím zadejte konkrétní databázi.
  • Omezení adresy: Definujte konkrétní IP adresy nebo rozsahy (např. 192.168.1.0/24), abyste omezili, kde mohou spojení pocházet.

Výběr metod autentizace

PostgreSQL podporuje různé metody ověřování:

  • MD5: Vyžaduje heslo a zašifruje jej pomocí MD5.
  • Heslo: Používá hesla ve formátu prostého textu (méně bezpečné, nedoporučuje se pro produkci).
  • Peer: Spoléhá na identitu uživatele na úrovni operačního systému (běžné pro místní připojení).
  • Ident: Podobné jako „peer“, obvykle používané pro síťová připojení.
  • SCRAM-SHA-256: Bezpečnější metoda, doporučená přes MD5 nebo heslo.

Ladění výkonu postgresql.conf

Pro optimalizaci výkonu zvažte tato nastavení v postgresql.conf:

  • sdílené_buffery: Upravuje množství paměti, kterou PostgreSQL používá pro vyrovnávací paměti sdílené paměti.
  • work_mem: Nastavuje paměť použitou pro interní operace třídění a hašování.
  • max_connections: Řídí maximální počet souběžných připojení k databázi.

Monitorování a diagnostika

Povolte podrobné protokolování, abyste získali přehled o výkonu a problémech databáze:

  • log_statement: Nastavte na 'vše', chcete-li protokolovat každý provedený příkaz SQL.
  • log_duration: Je-li povoleno, protokoluje trvání každého dokončeného příkazu SQL.

Závěr

Právě jsme prošli obsáhlým průvodcem nastavením PostgreSQL 16 na Ubuntu, který pokrývá vše od instalace a konfigurace vzdáleného přístupu až po zpřísnění zabezpečení pomocí pravidel brány firewall. Pamatujte, že i když je skvělé mít PostgreSQL spuštěný a spuštěný, skutečný klíč spočívá v pravidelné údržbě a bezpečnostních kontrolách.

užitečné odkazy

Zde je několik užitečných odkazů souvisejících s instalací PostgreSQL 16 na Ubuntu Linux:

  • Poznámky k vydání PostgreSQL 16: Přečtěte si poznámky k vydání PostgreSQL 16, kde se dozvíte o nových funkcích, vylepšeních a opravách chyb.
  • PostgreSQL GitHub úložiště: Navštivte oficiální repozitář PostgreSQL GitHub, kde získáte přístup ke zdrojovému kódu, nahlásíte problémy a přispějete k vývoji.
  • Dokumentace PostgreSQL: Získejte přístup ke komplexní dokumentaci PostgreSQL, kde najdete podrobné průvodce instalací, konfigurací a používáním.
  • PostgreSQL komunita: Připojte se ke komunitě PostgreSQL a spojte se s ostatními uživateli, zapojte se do diskusí a získejte podporu.
Joshua James
Následuj mě
Nejnovější příspěvky uživatele Joshua James (vidět vše)

Napsat komentář