GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat PostgreSQL server na RHEL 8 / CentOS 8

PostgreSQL je bezplatný opensource objektově-relační systém pro správu databází. Cílem tohoto tutoriálu je provést instalaci a základní konfiguraci PostgreSQL serveru na RHEL 8 / CentOS 8 Linux serveru.

V tomto tutoriálu se naučíte:

  • Jak nainstalovat databázový server PostgreSQL na RHEL 8 / CentOS 8
  • Jak spustit a povolit databázový server PostgreSQL
  • Jak získat přístup k databázi PostgreSQL z localhost a vzdáleného umístění
  • Jak nastavit heslo pro výchozí postgres uživatel
  • Jak povolit PostgreSQL, aby naslouchal ve všech sítích
  • Jak zabezpečit vzdálené připojení PostgreSQL pomocí ověřování hesla MD5
  • Jak otevřít port brány firewall PostgreSQL
  • Jak navázat vzdálené připojení k serveru PostgreSQL pomocí psql klient

Inicializace a přístup k databázi PostgreSQL na Red Hat Enterprise Linux 8

Požadavky na software a použité konvence

Softwarové požadavky a konvence příkazového řádku systému Linux
Kategorie Požadavky, konvence nebo použitá verze softwaru
Systém RHEL 8 / CentOS 8
Software PostgreSQL Server 10.5-1.el8
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

Místní instalace PostgreSQL a přístup k databázi krok za krokem

  1. Nainstalujte server PostreSQL. Spusťte níže uvedený dnf příkaz k provedení instalace balíčku serveru PostreSQL:
    # dnf install postgresql-server
    
  2. Inicializace PostgreSQL databáze:
    # postgresql-setup --initdb --unit postgresql
     * Initializing database in '/var/lib/pgsql/data'
     * Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log
    
  3. Spusťte PostgreSQL a volitelně povolte jeho spuštění po restartu.
    # systemctl start postgresql
    # systemctl enable postgresql
    

    V tuto chvíli by měl být server PostreSQL spuštěn a naslouchat na portu localhost 5432 . Použijte ss příkaz k potvrzení, že se jedná o tento případ:

    $ ss -nlt
    State  Recv-Q  Send-Q     Local Address:Port     Peer Address:Port  
    LISTEN 0       128              0.0.0.0:111           0.0.0.0:*     
    LISTEN 0       32         192.168.122.1:53            0.0.0.0:*     
    LISTEN 0       128              0.0.0.0:22            0.0.0.0:*     
    LISTEN 0       128            127.0.0.1:5432          0.0.0.0:*     
    LISTEN 0       128                 [::]:111              [::]:*     
    LISTEN 0       128                 [::]:22               [::]:*     
    LISTEN 0       128                [::1]:5432             [::]:*
    
  4. Přístup k databázi PostreSQL. Když nainstalujete databázi PostgreSQL do systému RHEL 8 / CentOS 8, instalační program také automaticky vytvoří nového výchozího uživatele postgres .

    Výchozí heslo pro postgres uživatel není nastaven, proto je prázdný. Pro přístup k databázi PostgreSQL nejprve spusťte su příkaz jako uživatel root pro přepnutí na uživatele postres. Poté zadejte psql pro přihlášení do databáze.

    POZNÁMKA
    Jakýkoli pokus o přístup k databázi PostgreSQL jako uživatel root bude mít za následek psql: FATAL: role "root" does not exist chybová zpráva.

    Příklad:

    # su - postgres
    $ psql
    psql (10.5)
    Type "help" for help.
    
    postgres=#
    
    POZNÁMKA
    Chcete-li ukončit shell databáze PostreSQL, zadejte \q nebo stiskněte CTRL+d kombinace kláves.

Vzdálený přístup k databázi PostgreSQL a zabezpečené připojení

  1. Nastavte heslo pro postgres uživatel. Abychom mohli vzdáleně přistupovat k serveru PostreSQL, nejprve nastavíme heslo pro postres uživatel:
    # su - postgres
    $ psql
    psql (10.5)
    Type "help" for help.
    
    postgres=# \password postgres
    Enter new password: 
    Enter it again: 
    postgres=# exit
    postgres-# \q
    
  2. Povolte serveru PostgreSQL naslouchat ve všech dostupných sítích. Upravte hlavní konfigurační soubor /var/lib/pgsql/data/postgresql.conf :
    # nano /var/lib/pgsql/data/postgresql.conf
    

    Jakmile budete připraveni, přidejte následující řádek někam do PŘIPOJENÍ A OVĚŘENÍ sekce:

    listen_addresses = '*'
    
    UPOZORNĚNÍ
    Výše uvedená konfigurace umožní PostreSQL naslouchat ve všech dostupných sítích. Doporučuje se nastavit přísnější pravidla, aby byl přístup k PostgreSQL povolen pouze z vybraných sítí.

    Použijte ss příkaz k potvrzení, že PostgreSQL naslouchá na 0.0.0.0 síť:

    $ ss -nlt
    State  Recv-Q  Send-Q     Local Address:Port     Peer Address:Port  
    LISTEN 0       128              0.0.0.0:111           0.0.0.0:*     
    LISTEN 0       32         192.168.122.1:53            0.0.0.0:*     
    LISTEN 0       128              0.0.0.0:22            0.0.0.0:*     
    LISTEN 0       128            0.0.0.0:5432          0.0.0.0:*     
    LISTEN 0       128                 [::]:111              [::]:*     
    LISTEN 0       128                 [::]:22               [::]:*     
    LISTEN 0       128                [::]:5432             [::]:*
    
  3. Povolte ověřování pomocí hesla šifrovaného MD5:
    # echo "host all all 0.0.0.0/0  md5" >> /var/lib/pgsql/data/pg_hba.conf
    
  4. Použijte změny konfigurace PostgreSQL:
    # systemctl restart postgresql
    
  5. Otevřete port brány firewall 5432 pro vzdálený příchozí provoz PostgreSQL:
    # firewall-cmd --zone=public --permanent --add-service=postgresql
    # firewall-cmd --reload
    
  6. Připojte se k databázovému serveru PostgreSQL ze vzdáleného umístění. Nejprve nainstalujte psql Klientský nástroj PostgreSQL na vašem vzdáleném hostiteli:
    RHEL/CENTOS
    # dnf install postgresql
    UBUNTU/DEBIAN
    # apt install postgresql-client
    

    Vytvořte vzdálené připojení k hostiteli, např. 192.168.1.151 jako postgres uživatel a heslo uživatele, jak je definováno ve výše kroku 1 :

    $ psql -h 192.168.1.151 -U postgres
    Password for user postgres: 
    psql (10.6 (Ubuntu 10.6-0ubuntu0.18.04.1), server 10.5)
    Type "help" for help.
    
    postgres=# 
    

Cent OS
  1. Jak nainstalovat PostgreSQL na CentOS 7

  2. Jak nainstalovat PostgreSQL Server na CentOS 8

  3. CentOS / RHEL 7:Jak nainstalovat GUI

  1. Jak nainstalovat Puppet na CentOS 8 / RHEL 8

  2. Jak nainstalovat PostgreSQL 10 na CentOS 6 / RHEL 6

  3. Jak nainstalovat PostgreSQL na CentOS 7 / RHEL 7

  1. Jak nainstalovat vnc server na RHEL 8 / CentOS 8

  2. Jak nainstalovat Nextcloud na server RHEL 8 / CentOS 8

  3. Jak nainstalovat Puppet 6.x na CentOS 7 / RHEL 7