Android

Jak nainstalovat postgresql na centos 7

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žňuje vytvářet komplexní webové aplikace.

V tomto tutoriálu vám ukážeme dvě různé metody, jak nainstalovat PostgreSQL do počítače 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.

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

Předpoklady

Před pokračováním v tomto kurzu se ujistěte, že jste přihlášeni jako uživatel s právy sudo.

Nainstalujte PostgreSQL z repozitářů CentOS

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

Chcete-li nainstalovat PostgreSQL na svůj server CentOS, postupujte takto:

  1. Instalace PostgreSQL

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

    sudo yum install postgresql-server postgresql-contrib

    Inicializace databáze

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

    sudo postgresql-setup initdb

    Initializing database… OK

    Spuštění PostgreSQL

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

    sudo systemctl start postgresql sudo systemctl enable postgresql

    Ověření instalace PostgreSQL

    K ověření instalace se pokusíme připojit k databázovému serveru PostgreSQL pomocí nástroje psql a vytisknout 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 komunikovat se serverem PostgreSQL.

Nainstalujte PostgreSQL z repozitářů PostgreSQL

V době psaní tohoto článku je nejnovější verzí PostgreSQL dostupnou z oficiálních repozitářů PostgreSQL PostgreSQL verze 10.4. Před pokračováním v dalším kroku byste měli navštívit stránku PostgreSQL Yum Repository a zkontrolovat, zda není k dispozici nová verze.

Nainstalujte nejnovější verzi PostgreSQL na svůj server CentOS podle následujících pokynů:

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

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

    sudo yum install

    Instalace PostgreSQL

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

    sudo yum install postgresql10-server postgresql10-contrib

    Inicializace databáze

    Inicializace typu databáze PostgreSQL:

    sudo /usr/pgsql-10/bin/postgresql-10-setup initdb

    Initializing database… OK

    Spuštění PostgreSQL

    Chcete-li spustit službu PostgreSQL a povolit její spuštění při spouštěcím typu:

    sudo systemctl start postgresql-10 sudo systemctl enable postgresql-10

    Ověření instalace PostgreSQL

    K ověření instalace se pokusíme připojit k databázovému serveru PostgreSQL pomocí nástroje psql a vytisknout 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 PostgreSQL a metody autentizace

Oprávnění pro přístup k databázi v PostgreSQL jsou řešena s konceptem 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 - 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á uživatelské jméno operačního systému klienta, s volitelným mapováním uživatelského jména. Rovněž - 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 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é přistoupit k výzvě PostgreSQL pomocí obslužného programu psql :

sudo su - postgres psql

Odtud můžete komunikovat s vaší 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

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

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

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. Připojte se k prostředí PostgreSQL

    sudo -u postgres psql

    Vytvořte novou roli PostgreSQL

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

    create role john;

    Vytvořte novou databázi PostgreSQL

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

    create database 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, 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 /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í 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í:

/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 .

Závěr

Naučili jste se, jak nainstalovat a konfigurovat PostgreSQL na vašem serveru CentOS 7.

Další informace k tomuto tématu najdete v dokumentaci PostgreSQL.

centos postgresql databáze