Android

Jak nainstalovat postgresql na debian 9

Howto install Ambari on Ubuntu

Howto install Ambari on Ubuntu

Obsah:

Anonim

PostgreSQL, často známé jednoduše jako Postgres, je open-source univerzální objektově-relační systém správy databází. PostgreSQL má mnoho pokročilých funkcí, jako jsou online zálohy, obnovení v čase, vnořené transakce, SQL a JSON dotazování, multi-version souběžná kontrola (MVCC), asynchronní replikace a další.

V tomto tutoriálu vám ukážeme, jak nainstalovat PostgreSQL na Debian 9 a prozkoumat základy základní správy databází.

Předpoklady

Před pokračováním v tomto tutoriálu se ujistěte, že uživatel, ke kterému jste přihlášeni, má oprávnění sudo.

Instalace PostgreSQL

V době psaní tohoto článku je nejnovější verzí PostgreSQL dostupnou z repozitářů Debian PostgreSQL verze 9.6.

Chcete-li nainstalovat PostgreSQL na váš server Debian, postupujte takto:

  1. Začněte aktualizací indexu místního balíčku:

    sudo apt update

    Nainstalujte server PostgreSQL a balíček příspěvků PostgreSQL, který poskytuje další funkce pro databázi PostgreSQL:

    sudo apt install postgresql postgresql-contrib

    Po dokončení instalace se služba PostgreSQL spustí automaticky. K ověření instalace se připojíme k PostgreSQL databázovému serveru pomocí obslužného programu psql a vytiskneme verzi serveru:

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

    Výstup bude vypadat takto:

    version ----------------------------------------------------------------------------------------------------------- PostgreSQL 9.6.10 on x86_64-pc-linux-gnu, compiled by gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516, 64-bit (1 row)

Psql je interaktivní terminálový program, který umožňuje interakci se serverem PostgreSQL.

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 řadu metod autentizace. Nejběžněji používané metody jsou:

  • Důvěra - Při této metodě se role může připojit bez hesla, pokud jsou splněna kritéria 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 - Tato metoda je podporována pouze u připojení TCP / IP. Funguje tak, že získává 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í pro místní připojení je PostgreSQL nastaveno na použití metody peer autentizace.

Uživatel postgres se vytvoří automaticky při instalaci PostgreSQL. Tento uživatel je superuživatelem pro instanci PostgreSQL a je rovnocenný s rootovským uživatelem MySQL.

Chcete-li se přihlásit k serveru PostgreSQL jako uživatel postgres, musíte se nejprve přepnout na uživatele postgres a poté se dostat k PostgreSQL výzvě pomocí nástroje psql :

sudo su - postgres psql

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

\q

Příkaz sudo můžete použít k přístupu k výzvě PostgreSQL bez přepnutí uživatelů:

sudo -u postgres psql

Uživatel postgres se obvykle používá pouze od místního hostitele a doporučuje se nenastavovat heslo pro tohoto uživatele.

Vytváření role PostgreSQL a databáze

Nové příkazy můžete vytvořit z příkazového řádku pomocí příkazu createuser . 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. Vytvořte novou roli PostgreSQL

    Následující příkaz vytvoří novou roli s názvem john:

    sudo su - postgres -c "createuser john"

    Vytvořte novou databázi PostgreSQL

    Vytvořte novou databázi s názvem johndb pomocí příkazu createdb :

    sudo su - postgres -c "createdb johndb"

    Udělte oprávnění

    Chcete-li udělit oprávnění uživateli john v databázi, kterou jsme vytvořili v předchozím kroku, připojte se k prostředí PostgreSQL:

    sudo -u postgres psql

    a spusťte následující dotaz:

    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 vašemu serveru PostgreSQL, otevřete konfigurační soubor postgresql.conf a v části CONNECTIONS AND AUTHENTICATION listen_addresses = '*' přidejte listen_addresses = '*' .

sudo vim /etc/postgresql/9.6/main/postgresql.conf /etc/postgresql/9.6/main/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 service postgresql restart

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:*

Jak můžete vidět z výstupu výše, server PostgreSQL poslouchá 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í:

/etc/postgresql/9.6/main/pg_hba.conf

# TYPE DATABASE USER ADDRESS METHOD # The user jane will be able to access all databases from all locations using a md5 password host all jane 0.0.0.0/0 md5 # The user jane will be able to access only the janedb from all locations using a md5 password host janedb jane 0.0.0.0/0 md5 # The user jane will be able to 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

Naučili jste se, jak nainstalovat a konfigurovat PostgreSQL na váš server Debian 9. Další informace o tomto tématu naleznete v dokumentaci PostgreSQL.

debian postgresql databáze