Plánujete nainstalovat PostgreSQL na server Ubuntu a nejste si jisti, kde začít? Už nehledejte, protože máte štěstí. V tomto tutoriálu se naučíte různé způsoby instalace serveru PostgreSQL Ubuntu a provádění základních konfigurací zabezpečení, které vám pomohou začít.
Pokračujte ve čtení a za chvíli budete provozovat server PostgreSQL!
Předpoklady
Tento tutoriál bude praktickou ukázkou. Pokud je chcete sledovat, ujistěte se, že máte následující.
- Server Ubuntu. Tento tutoriál používá Ubuntu 20.04.
- Uživatelský účet bez oprávnění root s právy sudo.
Nainstalujte PostgreSQL na Ubuntu
Počínaje novou instalací serveru Ubuntu můžete PostgreSQL nainstalovat dvěma způsoby. Jaký způsob zvolíte, závisí na tom, zda dáváte přednost pohodlí (méně kroků) nebo zda máte nejnovější verzi.
Metoda 1:Instalace PostgreSQL na Ubuntu (z úložiště Ubuntu)
Ve výchozím nastavení obsahují úložiště Ubuntu balíčky Postgres, což znamená, že balíčky PostgreSQL Ubuntu můžete nainstalovat pomocí Advanced Package Tool (APT) .
Balíčky Postgres v repozitářích Ubuntu nemusí být vždy nejnovější verze. Pokud místo toho chcete nainstalovat nejnovější verzi, přejděte k metodě 2.
1. Nejprve otevřete okno terminálu na vašem počítači a SSH do vašeho serveru Ubuntu.
2. Dále spusťte níže uvedený příkaz a aktualizujte seznam balíčků na vašem serveru Ubuntu.
sudo apt update -y
3. Nainstalujte balíčky PostgreSQL provedením níže uvedeného příkazu. Tento příkaz také nainstaluje postgresql-contrib
(další funkce Postgres) a postgresql-client
(Postgres CLI).
sudo apt install -y postgresql postgresql-contrib postgresql-client
4. Po instalaci ověřte stav instalace Postgres spuštěním níže uvedeného příkazu.
sudo dpkg --status postgresql
Jak můžete vidět níže, nejnovější verze nainstalovaná z úložiště Ubuntu v době psaní tohoto článku je verze 12.
Metoda 2:Instalace PostgreSQL na Ubuntu (z oficiálního úložiště)
Instalace PostgreSQL z oficiálního úložiště zajistí, že získáte nejnovější verzi. Tato metoda instalace však vyžaduje více kroků ve srovnání s instalací pomocí APT.
1. Nejprve otevřete okno terminálu na vašem počítači a SSH do vašeho serveru Ubuntu.
2. Spuštěním následujícího příkazu vytvořte soubor s názvem /etc/apt/sources.list.d/pgdg.list
. Tento soubor obsahuje adresu oficiálního úložiště PostgreSQL specifickou pro verzi vašeho serveru Ubuntu.
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
3. Dále spusťte níže uvedený příkaz a přidejte klíč PostgreSQL GPG do správce balíčků. APT použije tento klíč k ověření pravosti balíčků v úložišti.
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
Pokud bylo přidání klíče úspěšné, uvidíte odpověď OK.
4. Nyní aktualizujte seznamy balíčků, takže apt
ví, kde najít oficiální balíčky PostgreSQL.
sudo apt update -y
Jak můžete vidět níže, příkaz nyní při kontrole balíčků obsahuje adresu oficiálního úložiště PostgreSQL.
5. Nainstalujte PostgreSQL na Ubuntu spuštěním následujícího příkazu. Počkejte na dokončení instalace.
sudo apt install -y postgresql postgresql-contrib postgresql-client
6. Spuštěním níže uvedeného příkazu potvrďte verzi PostgreSQL, kterou jste nainstalovali z oficiálního úložiště.
sudo dpkg --status postgresql
Jak můžete vidět níže, verze z oficiálního úložiště je v době psaní tohoto článku verze 14.
Spuštění a ověření služby PostgreSQL
Po dokončení instalace spusťte níže uvedený systemctl
příkaz ke spuštění služby PostgreSQL.
sudo systemctl start postgresql.service
Nakonec ověřte stav PostgreSQL spuštěním níže uvedeného příkazu.
sudo systemctl status postgresql.service
Stav služby by měl být active
, jak je znázorněno na obrázku níže.
Zabezpečení výchozího uživatele PostgreSQL a povolení šifrování hesla
Instalace PostgreSQL vytvoří výchozí uživatelský účet s názvem postgres
který má úplný administrativní přístup k PostgreSQL. Tento speciální účet však nemá heslo. Každý uživatel, který se může přihlásit k serveru Ubuntu, může přistupovat k PostgreSQL jako postgres
uživatele bez zadání hesla.
Vzhledem k tomu, že postgres
účet není chráněn, první akci, kterou byste měli provést, je nastavit nové heslo. Chcete-li tak učinit, postupujte následovně.
1. Přihlaste se do prostředí PostgreSQL (psql
) spuštěním níže uvedeného příkazu.
sudo -u postgres psql
Jak můžete vidět níže, každý uživatel, který se může přihlásit k serveru Ubuntu, může také přistupovat k databázi PostgreSQL bez zadání hesla.
2. Spusťte následující příkaz na výzvu k zahájení změny hesla. Zadejte silné heslo dle vlastního výběru a stiskněte Enter.
\password
3. Po nastavení nového hesla zadejte \q
a stiskněte Enter pro ukončení psql
shell.
4. PostgreSQL standardně posílá hesla v prostém textu, což může představovat bezpečnostní riziko. Chcete-li tento potenciální vektor útoku napravit, změňte metodu ověřování hesla PostgreSQL na zabezpečený, například md5
.
Otevřete /etc/postgresql/12/main/pg_hba.conf soubor v nano pro úpravy. Tento soubor je hlavním konfiguračním souborem pro metody ověřování PostgreSQL.
sudo nano /etc/postgresql/12/main/pg_hba.conf
5. Najděte řádek, který zní jako níže.
# Database administrative login by Unix domain socket
local all postgres peer
Jakmile najdete řádek, nahraďte slovo peer slovem md5. Po úpravě řádku by váš soubor měl nyní vypadat jako na obrázku níže. Nakonec uložte soubor a ukončete editor.
Metoda ověřování md5 používá k zašifrování hesla před odesláním na server algoritmus pro zpracování zpráv.
6. Restartujte PostgreSQL server, aby se změny projevily.
sudo systemctl restart postgresql
7. Znovu se připojte k serveru PostgreSQL jako postgres
uživatel.
sudo -u postgres psql
Po výzvě zadejte heslo a stiskněte Enter.
Vytvoření a smazání databáze PostgreSQL
Nyní, když jste nainstalovali a nakonfigurovali svůj PostgreSQL server, můžete nyní začít vytvářet databázi. Koneckonců, co je RDBMS bez databáze? Postupujte podle níže uvedených kroků a otestujte svůj server vytvořením a odstraněním databáze.
1. Přihlaste se do prostředí PostgreSQL (psql
), pokud jste to ještě neudělali.
2. Spuštěním následujícího příkazu vytvořte novou databázi s názvem ata_db
.
Viz Dokumentace PostgreSQL zjistit více o databázi a různých typech dat.
CREATE DATABASE ata_db;
3. Dále potvrďte, že jste databázi úspěšně vytvořili, uvedením všech dostupných databází na serveru.
\l
Jak můžete vidět níže, nová databáze s názvem ata_db, kterou jste vytvořili v předchozím kroku, nyní na serveru existuje.
4. Spusťte následující příkaz pro připojení k ata_db
databáze.
\c ata_db;
Níže uvedený obrázek potvrzuje, že připojení k nové databázi bylo úspěšné. Můžete vidět stavovou zprávu, která říká, ke které databázi jste se připojili a ke kterému uživatelskému účtu.
Nyní můžete vytvářet tabulky a proveďte vytvoření , přečíst , aktualizovat a smazat (CRUD) akce v databázi.
5. Pokud nakonec databázi již nepotřebujete a potřebujete ji smazat, spusťte následující příkazy v psql
pro smazání databáze.
První řádek se odpojí od databáze ata_db přepnutím působícího připojení na výchozí postgresovou databázi. Pokud je databáze otevřená, nemůžete ji odstranit.
Druhý řádek smaže databázi.
\c postgres
DROP DATABASE ata_db;
6. Nakonec znovu vypište seznam všech databází na vašem PostgreSQL serveru. Uvidíte, že ata_db
databáze již neexistuje, jak je uvedeno níže.
\l
Uvidíte, že databáze ata_db již neexistuje, jak je uvedeno níže.
Závěr
V tomto tutoriálu jste se naučili, jak nainstalovat PostgreSQL na server Ubuntu a nakonfigurovat základní nastavení zabezpečení. Také jste se naučili, jak vytvořit, připojit a odstranit novou databázi na vašem PostgreSQL serveru.
Mějte na paměti, že to, co jste se zde naučili, jsou jen základy. S PostgreSQL můžete dělat více, jako je konfigurace ověření založeného na certifikátu SSL , vytváření nových uživatelů databáze a nastavení replikace.
S těmito novými znalostmi jste nyní v lepší pozici pro použití PostgreSQL ve vašich aplikacích .