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
Komponent | Požadavek |
---|---|
Procesor | 1 gigahertz (GHz) nebo rychlejší kompatibilní procesor |
RAM | 2 GB nebo více |
Místo na disku | 512 MB HDD (vyžaduje další místo na disku pro data nebo podpůrné komponenty) |
Podporované verze | Ubuntu 24.04 (Noble), Ubuntu 22.04 (Jammy), Ubuntu 20.04 (ohnisková) |
Další požadavky
Požadavek | Popis |
---|---|
Připojení k internetu | Vyž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 CLI | Pro 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.