V tomto článku vám ukážeme, jak nainstalovat PostgreSQL 12 na Ubuntu 20.04/18.04/16.04. PostgreSQL je databázový systém s otevřeným zdrojovým kódem a je výkonný jako ostatní relační databázové systémy.
Můžete si prohlédnout stránku vydání postgreSQL 12.
Kroky k instalaci PostgreSQL 12 na Ubuntu
Krok 1:Aktualizujte systém Ubuntu
Vždy se doporučuje aktualizovat systém před instalací PostgreSQL.
aktualizace sudo apt
Krok 2:Nainstalujte požadovaný balíček
sudo apt -y install vim bash-completion wget
Pokud je balíček již nainstalován, dostanete se pod výstup, můžete jej ignorovat.
Ukázkový výstup:
root@PostgreSQL:~# sudo apt -y install vim bash-completion wgetČtení seznamů balíčků... DoneBuilding strom závislostí Čtení informací o stavu... Donebash-completion je již nejnovější verze (1:2.11-2ubuntu1).vim je již nejnovější verze (2:8.2.0716-3ubuntu2).wget je již nejnovější verzí (1.20.3-1ubuntu1).wget je nastaven na ruční instalaci.Následující balíček byl nainstalován automaticky a již není vyžadován:virtualbox-guest -utilsPoužijte 'sudo apt autoremove' k odstranění.0 upgradováno, 0 nově nainstalováno, 0 odstraněno a 212 neaktualizováno.root@PostgreSQL:~#
Krok 3:Přidejte úložiště PostgreSQL 12
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" |sudo tee /etc/apt/sources.list.d/pgdg.listKrok 4:Nainstalujte PostgreSQL 12 na Ubuntu
sudo apt updatesudo apt -y install postgresql-12 postgresql-client-12Ukázkový výstup:
root@PostgreSQL:~# sudo apt -y install postgresql-12 postgresql-client-12Čtení seznamů balíčků... HotovoBuilding strom závislostí Čtení informací o stavu... HotovoNásledující balíček byl nainstalován automaticky a již není vyžadován:virtualbox- guest-utilsPoužijte 'sudo apt autoremove' k jeho odstranění. Budou nainstalovány následující dodatečné balíčky:libcommon-sense-perl libjson-perl libjson-xs-perl libpq5libtypes-serialiser-perl pgdg-keyring postgresql-client-commonpostgresql-common packages :postgresql-doc-12 isag Budou nainstalovány následující NOVÉ balíčky:libcommon-sense-perl libjson-perl libjson-xs-perl libpq5libtypes-serialiser-perl pgdg-keyring postgresql-12 postgresql-client-12postgresql-client-common postgresql-com sysstat0 upgradováno, 11 nově nainstalováno, 0 k odstranění a 212 neaktualizováno. Potřebujete získat 17,5 MB archivů. Po této operaci bude použito 59,4 MB dalšího místa na disku. Získejte:1 http://apt.postgresql.org/ pub/repos/apt groovy-pgdg/main amd64 libpq 5 amd64 13.3-1.pgdg20.10+1 [177 kB]Get:2 http://us.archive.ubuntu.com/ubuntu groovy/main amd64 libcommon-sense-perl amd64 3.75-1build2 [20,5 kB]Get:5 kB 3 http://us.archive.ubuntu.com/ubuntu groovy/main amd64 libjson-perl all 4.02000-2 [80,9 kB]Get:4 http://apt.postgresql.org/pub/repos/apt groovy-pgdg /main amd64 pgdg-keyring vše 2018.2 [10,7 kB]Get:5 http://apt.postgresql.org/pub/repos/apt groovy-pgdg/main amd64 postgresql-client-common vše 226.pgdg20.10+1 [ 90,6 kB]Get:6 http://us.archive.ubuntu.com/ubuntu groovy/main amd64 libtypes-serialiser-perl all 1.0-1 [12,1 kB]Get:7 http://us.archive.ubuntu.com /ubuntu groovy/main amd64 libjson-xs-perl amd64 4.020-1build1 [83,7 kB]Get:8 http://apt.postgresql.org/pub/repos/apt groovy-pgdg/main amd64 postgresql-client.11 -1.pgdg20.10+1 [1 429 kB]Získat:9 http://us.archive.ubuntu.com/ubuntu groovy/main amd64 sysstat amd64 12.4.0-1 [471 kB]Získat:10 http:// apt.postgresql.org/pub/repos/apt groovy-pgdg/main amd64 postgresql-common all 226.pgdg20.10+1 [2 46 kB]Get:11 http://apt.postgresql.org/pub/repos/apt groovy-pgdg/main amd64 postgresql-12 amd64 12.7-1.pgdg20.10+1 [14,9 MB]Načteno 17,5 MB za 15 s 1 141 kB/s) Předkonfigurování balíčků ...Výběr dříve nevybraného balíčku libcommon-sense-perl. (Čtení databáze ... Aktuálně nainstalováno 192977 souborů a adresářů.)Příprava na rozbalení .../00-libcommon-sense-perl_3.75 -1build2_amd64.deb ...Rozbalování libcommon-sense-perl (3.75-1build2) ...Výběr dříve nevybraného balíku libjson-perl.Příprava na rozbalení .../01-libjson-perl_4.02000-2_all.deb ... Rozbalování libjson-perl (4.02000-2) ...Výběr dříve nevybraného balíčku libtypes-serialiser-perl.Příprava na rozbalení .../02-libtypes-serialiser-perl_1.0-1_all.deb ...Rozbalování libtypes-serialiser- perl (1.0-1) ...Výběr dříve nevybraného balíčku libjson-xs-perl. Příprava na rozbalení .../03-libjson-xs-perl_4.020-1build1_amd64.deb ...Rozbalování libjson-xs-perl (4.020 -1build1) ...Výběr dříve nevybraného balíčku libpq5:amd64.P oprava k rozbalení .../04-libpq5_13.3-1.pgdg20.10+1_amd64.deb ...Rozbalování libpq5:amd64 (13.3-1.pgdg20.10+1) ...Výběr dříve nevybraného balíčku pgdg-keyring .Příprava na rozbalení .../05-pgdg-keyring_2018.2_all.deb ...Rozbalení pgdg-keyring (2018.2) ...Výběr dříve nevybraného balíčku postgresql-client-common.Příprava na rozbalení .../06-postgresql -client-common_226.pgdg20.10+1_all.deb ...Rozbalování postgresql-client-common (226.pgdg20.10+1) ...Výběr dříve nevybraného balíku postgresql-client-12.Příprava na rozbalení .../ 07-postgresql-client-12_12.7-1.pgdg20.10+1_amd64.deb ...Rozbalování postgresql-client-12 (12.7-1.pgdg20.10+1) ...Výběr dříve nevybraného balíčku postgresql-common. Příprava na rozbalení .../08-postgresql-common_226.pgdg20.10+1_all.deb ...Přidání 'přesměrování /usr/bin/pg_config do /usr/bin/pg_config.libpq-dev pomocí postgresql-common'Unpacking postgresql-common (226.pgdg20.10+1) ...Výběr dříve nevybraného balíčku postgresql-12.Příprava na rozbalení .../09-postgresql-12_12.7-1.pgdg20.10+1_amd64.deb ...Rozbalování postgresql-12 (12.7-1.pgdg20.10+1) ...Výběr dříve nevybraného balíčku sysstat.Příprava na unpack .../10-sysstat_12.4.0-1_amd64.deb ...Rozbalování sysstat (12.4.0-1) ...Nastavení pgdg-keyring (2018.2) ...Odstranění klíče apt.postgresql.org z důvěryhodného. gpg:OKNastavení libpq5:amd64 (13.3-1.pgdg20.10+1) ...Nastavení libcommon-sense-perl (3.75-1build2) ...Nastavení libtypes-serialiser-perl (1.0-1) .. .Nastavení libjson-perl (4.02000-2) ...Nastavení sysstat (12.4.0-1) ...Vytvoření konfiguračního souboru /etc/default/sysstat s novou verzí update-alternatives:pomocí /usr/bin/sar. sysstat pro poskytnutí /usr/bin/sar (sar) v automatickém režimu Vytvořený symbolický odkaz /etc/systemd/system/sysstat.service.wants/sysstat-collect.timer→ /lib/systemd/system/sysstat-collect.timer.Vytvořený symbolický odkaz /etc/systemd/system/sysstat.service.wants/sysstat-summary.timer→ /lib/systemd/system/sysstat-summary.timer.Vytvořen symbolický odkaz /etc/systemd/system/multi-user.target.wants/sys stat.service → /lib/systemd/system/sysstat.service.Nastavení postgresql-client-common (226.pgdg20.10+1) ...Nastavení libjson-xs-perl (4.020-1build1) ...Nastavení up postgresql-client-12 (12.7-1.pgdg20.10+1) ...alternativy aktualizace:použijte /usr/share/postgresql/12/man/man1/psql.1.gz k poskytnutí /usr/share/ man/man1/psql.1.gz (psql.1.gz) v automatickém režimuNastavení postgresql-common (226.pgdg20.10+1) ...Přidání uživatele postgres do skupiny ssl-certVytvoření konfiguračního souboru /etc/postgresql- common/createcluster.conf s novou verzíVytváření slovníků PostgreSQL z nainstalovaných balíčků myspell/hunspell...cs_usOdstranění zastaralých souborů slovníků:Vytvořen symbolický odkaz /etc/systemd/system/multi-user.target.wants/postgresql.service → /lib/systemd/ system/postgresql.service.Setting up postgresql-12 (12.7-1.pgdg20.10+1) ...Vytvoření nového clusteru PostgreSQL 12/main .../usr/lib/postgresql/12/bin/initdb -D / var/lib/postgresql/12/main --auth-local peer --auth-host md5Soubory patřící tomuto databázovému systému budou vlastněny uživatel "postgres".Tento uživatel musí také vlastnit proces serveru.Cluster databáze bude inicializován národním prostředím "en_US.UTF-8".Výchozí kódování databáze bylo odpovídajícím způsobem nastaveno na "UTF8".Výchozí konfigurace textového vyhledávání bude nastaveno na "english". Kontrolní součty datové stránky jsou zakázány. oprava oprávnění k existujícímu adresáři /var/lib/postgresql/12/main ... okvytváření podadresářů ... okselecting dynamické sdílené paměti implementace ... posixselecting default max_connections ... 100selecting default shared_buffers ... 128MB výběr výchozího časového pásma ... America/New_YorkVytváření konfiguračních souborů ... okrunning bootstrap script ... okprovádění inicializace po bootstrapu ... oksyncing dat na disk ... okSuccess. Nyní můžete spustit databázový server pomocí:pg_ctlcluster 12 main startVer Cluster Port Status Vlastník Datový adresář Log file12 main 5432 down postgres /var/lib/postgresql/12/main /var/log/postgresql/postgresql-12-main.logupdate- alternativy:pomocí /usr/share/postgresql/12/man/man1/postmaster.1.gz toprovide /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) v automatickém režimu Zpracování triggerů pro systemd ( 246.6-1ubuntu1) ...Zpracování spouštěčů pro man-db (2.9.3-2) ...Zpracování spouštěčů pro libc-bin (2.32-0ubuntu3) ...root@PostgreSQL:~#Krok 5:Zkontrolujte stav služby PostgreSQL
stav systemctl postgresql.service
Ukázkový výstup:
root@PostgreSQL:~# stav systemctl postgresql.service ● postgresql.service - PostgreSQL RDBMSLoaded:načteno (/lib/systemd/system/postgresql.service; povoleno; dodavatel p> Aktivní:aktivní (ukončeno) od neděle 2021- 05-16 09:17:56 EDT; před 1min 56sHlavní PID:10932 (kód=ukončeno, stav=0/ÚSPĚCH)Úkoly:0 (limit:4648)Paměť:0BCSkupina:/system.slice/postgresql.service 16. května 09:17:56 PostgreSQL systemd[1]:Spouštění PostgreSQL RDBMS...16. května 09:17:56 PostgreSQL systemd[1]:Dokončeno PostgreSQL RDBMS.root@PostgreSQL:~#Krok 6:Připojte PostgreSQL
sudo su - postgresKrok 7:Resetujte heslo PostgreSQL
Doporučuje se resetovat heslo na silné heslo
psql -c "změnit uživatelský postgres pomocí hesla 'StrongAdminP@ssw0rd'"Ukázkový výstup:
root@PostgreSQL:~# sudo su - postgrespostgres@PostgreSQL:~$ postgres@PostgreSQL:~$ psql -c "změnit uživatele postgres pomocí hesla 'StrongAdminP@ssw0rd'"ALTER ROLEpostgres@PostgreSQL:~$Krok 8:Vytvořte databázi PostgreSQL
$ psql$ VYTVOŘIT DATABÁZI firsttestdb;$ VYTVOŘIT UŽIVATELE testuser1 SE ŠIFROVANÝM HESLEM 'MyDBP@ss0rd';$ UDĚLIT VŠECHNA PRIVIlegia V DATABÁZI firsttestdb testuser1;
Seznam databáze PostgreSQL:
$\l
Jak se připojit k databázi PostgreSQL:
\c firsttestdbUkázkový výstup:
postgres=# \c firsttestdbNyní jste připojeni k databázi "firsttestdb" jako uživatel "postgres".firsttestdb=#Nyní uvidíme, jak povolit vzdálená připojení k PostgreSQL DB.
Krok 9:Povolte vzdálené připojení k databázi PostgreSQL
sudo nano /etc/postgresql/12/main/postgresql.confOdkomentujte řádek „listen_addresses =‘*‘ “
Uložte soubor a restartujte službu PostgreSQL
sudo systemctl restart postgresqlKrok 10:Zkontrolujte adresu pro poslech
netstat -tunelp | grep 5432Ukázkový výstup:
root@PostgreSQL:~# netstat -antple | grep 5432tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN 135 253939 13850/postgres tcp6 0 0 :::5432 :::* LISTEN 135 253950~PRENa konci článku jsme viděli, jak nainstalovat PostgreSQL 12 na Ubuntu 20.04/18.04/16.04.