Android

Jak nainstalovat postgresql na centos 8

Howto install Ambari on Ubuntu

Howto install Ambari on Ubuntu

Obsah:

Anonim

PostgreSQL nebo Postgres je open-source univerzální objektově-relační systém správy databází s mnoha pokročilými funkcemi, který vám umožní vytvářet prostředí odolná proti chybám nebo složité aplikace.

V této příručce budeme diskutovat o tom, jak nainstalovat databázový server PostgreSQL na CentOS 8. Před výběrem verze, kterou chcete nainstalovat, se ujistěte, že je vaše aplikace podporuje.

Rovněž prozkoumáme základy správy databáze PostgreSQL.

Předpoklady

Abyste mohli instalovat balíčky, musíte být přihlášeni jako root nebo uživatel s právy sudo.

Instalace PostgreSQL na CentOS 8

V době psaní tohoto článku jsou k dispozici dvě verze serveru PostgreSQL k instalaci ze standardních repozitářů CentOS: verze 9.6 a 10.0.

Chcete-li zobrazit seznam dostupných streamů PostgreSQL, zadejte:

dnf module list postgresql

Výstup ukazuje, že modul postgresql je k dispozici se dvěma proudy. Každý stream má dva profily: server a klient. Stream 10 s profilovým serverem je výchozí:

CentOS-8 - AppStream Name Stream Profiles Summary postgresql 10 client, server PostgreSQL server and client module postgresql 9.6 client, server PostgreSQL server and client module

  1. Chcete-li nainstalovat výchozí stream, zadejte server PostgreSQL verze 10.0:

    sudo dnf install @postgresql:10

    Instalace serveru PostgreSQL verze 9.6:

    sudo dnf install @postgresql:9.6

Možná budete chtít nainstalovat balíček Contrib, který poskytuje několik dalších funkcí pro databázi PostgreSQL:

sudo dnf install postgresql-contrib

Po dokončení instalace inicializujte databázi PostgreSQL pomocí následujícího příkazu:

sudo postgresql-setup initdb

Initializing database… OK

Spusťte službu PostgreSQL a povolte spuštění při spuštění:

sudo systemctl enable --now postgresql

Pomocí nástroje psql ověřte instalaci připojením k databázovému serveru PostgreSQL a vytiskněte jeho verzi:

sudo -u postgres psql -c "SELECT version();"

PostgreSQL 10.6 on x86_64-redhat-linux-gnu, compiled by gcc (GCC) 8.2.1 20180905 (Red Hat 8.2.1-3), 64-bit

Role PostgreSQL a metody autentizace

PostgreSQL zpracovává přístupová oprávnění k databázi pomocí konceptu rolí. Role může představovat uživatele databáze nebo skupinu uživatelů databáze.

PostgreSQL podporuje více metod autentizace. Nejběžněji používané metody jsou:

  • Důvěra - Role se může připojit bez hesla, pokud jsou splněny podmínky definované v pg_hba.conf.Password - Role se může připojit poskytnutím hesla. Hesla lze uložit jako scram-sha-256 , md5 a password (čistý text).Ident - Podporováno pouze při připojení TCP / IP. Funguje tak, že získá uživatelské jméno operačního systému klienta, s volitelným mapováním uživatelského jména. Vyrovnat - Stejné jako Ident, ale je podporováno pouze u místních připojení.

Ověřování klienta PostgreSQL je definováno v konfiguračním souboru s názvem pg_hba.conf . Ve výchozím nastavení je pro místní připojení PostgreSQL nastavena na metodu peer autentizace.

Uživatel postgres se automaticky vytvoří při instalaci serveru PostgreSQL. Tento uživatel je superuživatelem instance PostgreSQL. Je ekvivalentní rootovi MySQL.

Chcete-li se přihlásit k serveru PostgreSQL jako uživatel postgres , nejprve přepněte na uživatele a poté otevřete příkaz PostgreSQL pomocí obslužného programu psql :

sudo su - postgres psql

Odtud můžete komunikovat s instancí PostgreSQL. Chcete-li ukončit prostředí PostgreSQL, zadejte:

\q

Do příkazového řádku PostgreSQL můžete také přistupovat bez přepínání uživatelů pomocí příkazu sudo :

sudo -u postgres psql

Obvykle se uživatel postgres používá pouze z localhost.

Vytváření role PostgreSQL a databáze

Nové role mohou vytvářet pouze superuživatelé a role s oprávněním CREATEROLE .

V následujícím příkladu vytvoříme novou roli s názvem john , databázi s názvem johndb a johndb oprávnění k databázi.

  1. Nejprve se připojte k prostředí PostgreSQL:

    sudo -u postgres psql

    Vytvořte novou roli PostgreSQL pomocí následujícího příkazu:

    create role john;

    Vytvoření nové databáze:

    create database johndb;

    Udělte oprávnění uživateli v databázi spuštěním následujícího dotazu:

    grant all privileges on database johndb to john;

Povolit vzdálený přístup k serveru PostgreSQL

Ve výchozím nastavení server PostgreSQL poslouchá pouze na místním rozhraní 127.0.0.1 .

Chcete-li povolit vzdálený přístup k serveru PostgreSQL, otevřete konfigurační soubor:

sudo nano /var/lib/pgsql/data/postgresql.conf

Přejděte dolů do sekce CONNECTIONS AND AUTHENTICATION a přidejte / upravte následující řádek:

/var/lib/pgsql/data/postgresql.conf

#------------------------------------------------------------------------------ # CONNECTIONS AND AUTHENTICATION #------------------------------------------------------------------------------ # - Connection Settings - listen_addresses = '*' # what IP address(es) to listen on;

Uložte soubor a restartujte službu PostgreSQL pomocí:

sudo systemctl restart postgresql

Ověřte změny pomocí obslužného programu ss :

ss -nlt | grep 5432

LISTEN 0 128 0.0.0.0:5432 0.0.0.0:* LISTEN 0 128:5432:*

Výše uvedený výstup ukazuje, že server PostgreSQL poslouchá na výchozím portu na všech rozhraních (0.0.0.0).

Posledním krokem je konfigurace serveru tak, aby přijímal vzdálená připojení úpravou souboru pg_hba.conf .

Níže uvádíme několik příkladů, které ukazují různé případy použití:

/var/lib/pgsql/data/pg_hba.conf

# TYPE DATABASE USER ADDRESS METHOD # The user jane can access all databases from all locations using an md5 password host all jane 0.0.0.0/0 md5 # The user jane can access only the janedb database from all locations using an md5 password host janedb jane 0.0.0.0/0 md5 # The user jane can access all databases from a trusted location (192.168.1.134) without a password host all jane 192.168.1.134 trust

Závěr

CentOS 8 poskytuje dvě verze PostgreSQL: 9.6 a 10.0.

Více informací o tomto tématu najdete v dokumentaci PostgreSQL

centos postgresql databáze