GNU/Linux >> Znalost Linux >  >> Debian

Jak nainstalovat PostgreSQL na Debian 10

PostgreSQL, často známý jednoduše jako Postgres, je open source univerzální objektově-relační systém pro správu databází. Má mnoho výkonných funkcí, jako jsou online zálohy, obnovení v určitém okamžiku, vnořené transakce, dotazování SQL a JSON, řízení souběžnosti více verzí (MVCC), asynchronní replikace a další.

Tento tutoriál vás provede kroky instalace databázového serveru PostgreSQL na Debian 10. Prozkoumáme také základy základní správy databáze.

Instalace PostgreSQL #

V době psaní tohoto článku byla nejnovější verze PostgreSQL dostupná z výchozích repozitářů Debianu PostgreSQL verze 11.5.

Chcete-li nainstalovat PostgreSQL na váš server Debian, proveďte následující kroky jako root nebo uživatel s právy sudo:

  1. Začněte aktualizací indexu balíků APT:

    sudo apt update
  2. Nainstalujte server PostgreSQL a balíček contrib, který poskytuje další funkce pro databázi PostgreSQL:

    sudo apt install postgresql postgresql-contrib
  3. Po dokončení instalace se spustí služba PostgreSQL. Pro ověření instalace použijte psql nástroj pro tisk verze serveru:

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

    Výstup by měl vypadat nějak takto:

    PostgreSQL 11.5 (Debian 11.5-1+deb10u1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit
psql je interaktivní terminálový program, který umožňuje interakci se serverem PostgreSQL.

Role a metody ověřování PostgreSQL #

PostgreSQL zpracovává přístupová oprávnění k databázi pomocí konceptu rolí. V závislosti na tom, jak roli nastavíte, může představovat uživatele databáze nebo skupinu uživatelů databáze.

PostgreSQL podporuje několik metod ověřování. Nejčastěji používané metody jsou:

  • Důvěra – Role se může připojit bez hesla, pokud jsou splněna kritéria definovaná v pg_hba.conf jsou splněny.
  • Heslo – Role se může připojit zadáním hesla. Hesla lze uložit jako scram-sha-256 md5 a password (čistý text)
  • Ident – ​​Podporováno pouze pro 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.
  • Peer – Stejné jako Ident, ale je podporováno pouze u místních připojení.

Autentizace klienta PostgreSQL je definována v konfiguračním souboru s názvem pg_hba.conf . Pro lokální připojení je PostgreSQL nastaveno na použití metody peer autentizace.

Uživatel „postgres“ se automaticky vytvoří při instalaci PostgreSQL. Tento uživatel je superuživatel pro instanci PostgreSQL a je ekvivalentní kořenovému uživateli MySQL.

Chcete-li se přihlásit k serveru PostgreSQL jako „postgres“, přepněte na userpostgres a pomocí psql otevřete výzvu PostgreSQL nástroj:

sudo su - postgrespsql

Odtud můžete komunikovat se serverem PostgreSQL. Chcete-li opustit prostředí PostgreSQL, zadejte:

\q

Můžete použít sudo příkaz pro přístup k výzvě PostgreSQL bez přepínání uživatelů:

sudo -u postgres psql

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

Vytvoření PostgreSQL role a databáze #

createuser umožňuje vytvářet nové role z příkazového řádku. Pouze superuživatelé a role s CREATEROLE oprávnění může vytvářet nové role.

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

  1. Nejprve vytvořte roli zadáním následujícího příkazu:

    sudo su - postgres -c "createuser kylo"
  2. Dále vytvořte databázi pomocí createdb příkaz:

    sudo su - postgres -c "createdb kylodb"
  3. Chcete-li uživateli udělit oprávnění k databázi, připojte se k prostředí PostgreSQL:

    sudo -u postgres psql

    Spusťte následující dotaz:

    GRANT ALL PRIVILEGES ON DATABASE kylodb TO kylo;

Povolení vzdáleného přístupu k serveru PostgreSQL #

Ve výchozím nastavení PostgreSQL, server naslouchá pouze na lokálním rozhraní 127.0.0.1 .

Pokud se chcete připojit k serveru PostgreSQL ze vzdálených umístění, musíte server nastavit tak, aby naslouchal na veřejném rozhraní, a upravit konfiguraci tak, aby přijímala vzdálená připojení.

Otevřete konfigurační soubor postgresql.conf a přidejte listen_addresses = '*' v CONNECTIONS AND AUTHENTICATION sekce. Tím dá serveru pokyn, aby naslouchal na všech síťových rozhraních.

sudo nano /etc/postgresql/11/main/postgresql.conf
/etc/postgresql/11/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, aby se změny projevily:

sudo service postgresql restart

Ověřte změny pomocí ss nástroj:

ss -nlt | grep 5432
LISTEN   0         128                 0.0.0.0:5432             0.0.0.0:*
LISTEN   0         128                    [::]:5432                [::]:*

Výstup by měl ukazovat, že PostgreSQL server naslouchá všem rozhraním (0.0.0.0).

Posledním krokem je nakonfigurovat server tak, aby přijímal vzdálená přihlášení, úpravou souboru pg_hba.conf soubor.

Níže je několik příkladů ukazujících různé případy použití:

/etc/postgresql/11/main/pg_hba.conf
# TYPE  DATABASE        USER            ADDRESS                 METHOD

# The user jane will be able to access all databases from all locations using an 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 an 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

Debian
  1. Jak nainstalovat PostgreSQL 11 / 10 na Debian 9 a Debian 8

  2. Jak nainstalovat PostgreSQL na Debian 11 / Debian 10

  3. Jak nainstalovat phpPgAdmin na Debian 9

  1. Jak nainstalovat R na Debian 9

  2. Jak nainstalovat PostgreSQL na Debian 9

  3. Jak nainstalovat R na Debian 10

  1. Jak nainstalovat pgAdmin na Debian 11 / Debian 10

  2. Jak nainstalovat phpPgAdmin na Debian 11 / Debian 10

  3. Jak nainstalovat Debian 11