PostgreSQL je systém pro správu databází, podobný MySQL v mnoha ohledech, ale s některými klíčovými rozdíly. Stejně jako MySQL je běžně hostován na Linuxu. V této příručce si ukážeme, jak spustit server PostgreSQL na Ubuntu 22.04 Jammy Jellyfish, a také instalaci klientské verze pro případ, že se potřebujete připojit k externí databázi PostgreSQL.
V tomto tutoriálu se naučíte:
- Jak nainstalovat klienta PostgreSQL
- Jak se připojit k serveru PostgreSQL
- Jak nainstalovat a nakonfigurovat PostgreSQL Server
Kategorie | Požadavky, konvence nebo použitá verze softwaru |
---|---|
Systém | Ubuntu 22.04 Jammy Jellyfish |
Software | Server a klient PostgreSQL |
Jiné | Privilegovaný přístup k vašemu systému Linux jako root nebo prostřednictvím sudo příkaz. |
Konvence | # – vyžaduje, aby dané linuxové příkazy byly spouštěny s právy root buď přímo jako uživatel root, nebo pomocí sudo příkaz$ – vyžaduje, aby dané linuxové příkazy byly spouštěny jako běžný neprivilegovaný uživatel |
Nainstalujte klienta PostgreSQL
Klient PostgreSQL lze použít pro připojení k externí databázi PostgreSQL. Tuto možnost použijte, pokud již máte spuštěný databázový server, ale potřebujete mít možnost vzdáleně přistupovat k databázi z jednoho nebo více klientských systémů.
- Začněte instalací
postgresql-client
otevřením terminálu příkazového řádku a zadáním následujících dvouapt
příkazy:$ sudo apt update $ sudo apt install postgresql-client
- Po dokončení instalace klienta PostgreSQL můžete použít
psql
příkaz pro připojení ke vzdálenému serveru PostgreSQL. Budete muset zadat název hostitele nebo IP adresu vzdáleného serveru (zobrazeno jakopostgre-server
v příkladu níže) a uživatelské jméno (postgre-user
níže) ověřujete pomocí:$ psql -h postgre-server -U postgre-user psql (14.2 (Ubuntu 14.2-1)) SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off) Type "help" for help.
To je vše pro klientskou verzi. V další části si ukážeme, jak nastavit PostgreSQL server, který bude schopen přijímat příchozí připojení klientů.
Nainstalujte PostgreSQL Server
- Chcete-li začít hostovat svou databázi PostgreSQL, nainstalujte
postgresql
balíček na Ubuntu 22.04 s následujícím příkazem:$ sudo apt update $ sudo apt install postgresql
- Jakmile PostgreSQL Server dokončí instalaci, měli byste vidět, že naslouchá příchozím připojením na portu
5432
. Je to dobrý způsob, jak potvrdit, že funguje podle očekávání.$ ss -nlt
- Ve výchozím nastavení se PostgreSQL Server spustí automaticky při každém spuštění systému. Chcete-li toto chování změnit, můžete jej kdykoli upravit pomocí tohoto příkazu:
$ sudo systemctl disable postgresql
Chcete-li jej znovu aktivovat, stačí nahraditdisable
pomocíenable
. - PostgreSQL Server naslouchá pouze na rozhraní místní smyčky
127.0.0.1
ve výchozím stavu. Pokud plánujete připojení jednoho nebo více vzdálených klientů k vašemu databázovému serveru, budete muset nakonfigurovat PostgreSQL tak, aby naslouchal na jiném síťovém rozhraní. Chcete-li provést tuto změnu, otevřete konfigurační soubor PostgreSQL pomocí nano nebo vašeho preferovaného textového editoru:$ sudo nano /etc/postgresql/14/main/postgresql.conf
- V tomto souboru přidejte následující řádek někam do sekce „PŘIPOJENÍ A OVĚŘOVÁNÍ“. To dá PostgreSQL pokyn, aby naslouchal na všech síťových rozhraních příchozím připojením.
listen_addresses = '*'
- Uložte změny a ukončete konfigurační soubor. Poté restartujte PostgreSQL Server, aby se změny projevily.
$ sudo systemctl restart postgresql
- Nyní byste měli vidět, že PostgreSQL naslouchá na socketu
0.0.0.0:5432
. Můžete to potvrdit spuštěnímss
příkaz znovu:$ ss -nlt
- Dále byste měli přidat následující řádek do
/etc/postgresql/14/main/pg_hba.conf
konfigurační soubor, který umožní příchozí připojení klientů ke všem databázím a uživatelům.md5
volba určuje, že se uživatelé musí autentizovat pomocí hesla.
host all all 0.0.0.0/0 md5
Chcete-li přidat tento řádek do souboru pomocí jediného příkazu, stačí provést:
$ sudo bash -c "echo host all all 0.0.0.0/0 md5 >> /etc/postgresql/14/main/pg_hba.conf"
- A konečně, pokud máte povolený firewall UFW, můžete otevřít naslouchací port PostgreSQL Serveru
5432
na jakýkoli příchozí provoz TCP provedením příkazu níže:$ sudo ufw allow from any to any port 5432 proto tcp Rule added Rule added (v6)
Úvahy na závěr
V tomto tutoriálu jsme se naučili hostovat PostgreSQL Server na Ubuntu 22.04 Jammy Jellyfish Linux. Také jsme viděli, jak provést počáteční konfiguraci, aby naše databáze byla schopna přijímat příchozí připojení z jakéhokoli zdroje a jakéhokoli uživatele. Kromě toho jsme také viděli, jak použít balíček klienta PostgreSQL pro připojení ke vzdálenému serveru PostgreSQL.