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

Jak nainstalovat PostgreSQL na CentOS 7

PostgreSQL nebo Postgres je open-source univerzální objektově-relační systém pro správu databází s mnoha pokročilými funkcemi, které vám umožňují vytvářet složité webové aplikace.

V tomto tutoriálu vám ukážeme dvě různé metody, jak nainstalovat PostgreSQL na váš počítač CentOS 7. První metoda vás provede kroky nezbytnými k instalaci PostgreSQL v9.2.23 z repozitářů CentOS, zatímco druhá vám ukáže, jak nainstalovat nejnovější verzi PostgreSQL z oficiálních repozitářů PostgreSQL.

Pokud vaše aplikace nevyžaduje nejnovější verzi, doporučujeme použít první metodu a nainstalovat PostgreSQL z repozitářů CentOS.

Prozkoumáme také základy administrace databáze PostgreSQL.

Předpoklady #

Než budete pokračovat v tomto tutoriálu, ujistěte se, že jste přihlášeni jako uživatel s právy sudo.

Instalovat PostgreSQL z repozitářů CentOS #

V době psaní tohoto článku byla nejnovější verze PostgreSQL dostupná z repozitářů CentOS PostgreSQL verze 9.2.23.

Chcete-li nainstalovat PostgreSQL na váš server CentOS, postupujte podle následujících kroků:

  1. Instalace PostgreSQL

    Chcete-li nainstalovat server PostgreSQL spolu s balíčkem PostgreSQL contrib, který poskytuje několik dalších funkcí pro databázi PostgreSQL, jednoduše zadejte:

    sudo yum install postgresql-server postgresql-contrib
  2. Inicializace databáze

    Inicializujte PostgreSQL databázi pomocí následujícího příkazu:

    sudo postgresql-setup initdb
    Initializing database ... OK
  3. Spuštění PostgreSQL

    Chcete-li spustit službu PostgreSQL a povolit její spuštění při bootování, jednoduše napište:

    sudo systemctl start postgresqlsudo systemctl enable postgresql
  4. Ověření instalace PostgreSQL

    Pro ověření instalace se pokusíme připojit k databázovému serveru PostgreSQL pomocí psql a vytiskněte verzi serveru:

    sudo -u postgres psql -c "SELECT version();"
    PostgreSQL 9.2.23 on x86_64-redhat-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16), 64-bit
    (1 row)
Psql je interaktivní nástroj příkazového řádku, který nám umožňuje interakci se serverem PostgreSQL.

Instalace PostgreSQL z repozitářů PostgreSQL #

V době psaní tohoto článku byla nejnovější verze PostgreSQL dostupná z oficiálních repozitářů PostgreSQL PostgreSQL verze 10.4. Než budete pokračovat dalším krokem, měli byste navštívit stránku PostgreSQL Yum Repository a zkontrolovat, zda je k dispozici nová verze.

Chcete-li nainstalovat nejnovější verzi PostgreSQL na server CentOS, postupujte podle následujících kroků:

  1. Povolení úložiště PostgreSQL

    Chcete-li povolit úložiště PostgreSQL, jednoduše nainstalujte úložiště rpm soubor:

    sudo yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm
  2. Instalace PostgreSQL

    Jakmile je úložiště povoleno, nainstalujte server PostgreSQL a balíčky Contrib PostgreSQL pomocí:

    sudo yum install postgresql10-server postgresql10-contrib
  3. Inicializace databáze

    Postup inicializace databáze PostgreSQL:

    sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
    Initializing database ... OK
  4. Spuštění PostgreSQL

    Spuštění služby PostgreSQL a povolení jejího spouštění při spouštění typu:

    sudo systemctl start postgresql-10sudo systemctl enable postgresql-10
  5. Ověření instalace PostgreSQL

    Pro ověření instalace se pokusíme připojit k databázovému serveru PostgreSQL pomocí psql a vytiskněte verzi serveru:

    sudo -u postgres /usr/pgsql-10/bin/psql -c "SELECT version();"
    PostgreSQL 10.4 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28), 64-bit
    (1 row)

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

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

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

  • Důvěra – S touto metodou se může role 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 – ​​Tato metoda je podporována pouze u 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 . Ve výchozím nastavení je pro místní připojení PostgreSQL nastaveno na použití metody ověřování rovnocennými partnery.

postgres uživatel se vytvoří automaticky při instalaci PostgreSQL. Tento uživatel je superuživatel pro instanci PostgreSQL a je ekvivalentní root uživateli MySQL.

Chcete-li se přihlásit k serveru PostgreSQL jako uživatel postgres, musíte se nejprve přepnout na userpostgres a poté otevřít výzvu PostgreSQL pomocí psql nástroj:

sudo su - postgrespsql

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

\q

Můžete také přistupovat k výzvě PostgreSQL bez přepínání uživatelů pomocí sudo příkaz:

sudo -u postgres psql

postgres uživatel je obvykle používán pouze z lokálního hostitele a je doporučeno tomuto uživateli nenastavovat heslo.

Pokud jste nainstalovali PostgreSQL verze 10 z oficiálních repozitářů PostgreSQL, budete muset použít úplnou cestu k psql binární, což je /usr/pgsql-10/bin/psql .

Vytvoření PostgreSQL role a databáze #

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 john databázi s názvem johndb a udělit oprávnění k databázi.

  1. Připojte se k PostgreSQL Shell

    sudo -u postgres psql
  2. Vytvořte novou roli PostgreSQL

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

    CREATE ROLE john;
  3. Vytvořte novou databázi PostgreSQL

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

    CREATE DATABASE johndb;
  4. Udělit oprávnění

    Chcete-li udělit oprávnění john uživatele na databázi, kterou jsme vytvořili v předchozím kroku, 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 naslouchá pouze na místním rozhraní 127.0.0.1 . Chcete-li povolit vzdálený přístup k vašemu PostgreSQL serveru, otevřete konfigurační soubor postgresql.conf a přidejte listen_addresses = '*' v CONNECTIONS AND AUTHENTICATION sekce.

sudo vim /var/lib/pgsql/data/postgresql.conf
Pokud používáte PostgreSQL verze 10, cesta k souboru je /var/lib/pgsql/10/data/postgresql.conf ./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
Pokud používáte PostgreSQL verze 10, restartujte službu PostgreSQL pomocí systemctl restart postgresql-10 .

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

Jak můžete vidět z výstupu výše, PostgreSQL server naslouchá na všech rozhraních (0.0.0.0).

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

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

/var/lib/pgsql/data/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
Pokud používáte PostgreSQL verze 10, úplná cesta k souboru je /var/lib/pgsql/10/data/pg_hba.conf .
Cent OS
  1. Jak nainstalovat PostgreSQL na CentOS 7

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

  3. Jak nainstalovat PostgreSQL na CentOS 7 / RHEL 7

  1. Jak nainstalovat PHP 7, 7.2 a 7.3 na CentOS 7

  2. Jak nainstalovat Java 11 &12 na CentOS 7

  3. Jak nainstalovat Wine 4.0 na CentOS 7

  1. Jak nainstalovat Vim 8.2 na CentOS 7

  2. Jak nainstalovat VirtualBox na CentOS 7

  3. Jak nainstalovat PostgreSQL server na RHEL 8 / CentOS 8