Android

Hur man installerar postgresql på centos 7

Install Postgres on Centos 7

Install Postgres on Centos 7

Innehållsförteckning:

Anonim

PostgreSQL eller Postgres är ett öppet källkodsobjektrelativt databashanteringssystem med många avancerade funktioner som gör att du kan skapa komplexa webbapplikationer.

I den här tutorialen visar vi dig två olika metoder för hur du installerar PostgreSQL på din CentOS 7-maskin. Den första metoden kommer att leda dig genom stegen som krävs för att installera PostgreSQL v9.2.23 från CentOS-lagringarna medan den andra visar dig hur du installerar den senaste versionen av PostgreSQL från de officiella PostgreSQL-lagringarna.

Om din applikation inte kräver den senaste versionen, rekommenderar vi att du använder den första metoden och installerar PostgreSQL från CentOS-lagren.

Vi kommer också att utforska grunderna i PostgreSQL-databasadministration.

förutsättningar

Innan du fortsätter med den här tutorialen, se till att du är inloggad som användare med sudo-privilegier.

Installera PostgreSQL från CentOS-lagren

Vid skrivandet av denna artikel är den senaste versionen av PostgreSQL som finns tillgänglig från CentOS-lagringarna PostgreSQL version 9.2.23.

Följ stegen nedan för att installera PostgreSQL på din CentOS-server:

  1. Installera PostgreSQL

    För att installera PostgreSQL-servern tillsammans med PostgreSQL contrib-paketet som innehåller flera ytterligare funktioner för PostgreSQL-databasen skriver du bara:

    sudo yum install postgresql-server postgresql-contrib

    Initiera databasen

    Initiera PostgreSQL-databasen med följande kommando:

    sudo postgresql-setup initdb

    Initializing database… OK

    Starta PostgreSQL

    För att starta PostgreSQL-tjänsten och aktivera den att starta med start skriver du bara:

    sudo systemctl start postgresql sudo systemctl enable postgresql

    Verifierar PostgreSQL-installation

    För att verifiera installationen kommer vi att försöka ansluta till PostgreSQL-databaseservern med psql verktyget och skriva ut serverns version:

    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 är ett interaktivt kommandoradsverktyg som gör att vi kan interagera med PostgreSQL-servern.

Installera PostgreSQL från PostgreSQL-lagren

Vid skrivandet av denna artikel är den senaste versionen av PostgreSQL som finns tillgänglig från de officiella PostgreSQL-lagringarna PostgreSQL version 10.4. Innan du fortsätter med nästa steg bör du besöka PostgreSQL Yum Repository-sidan och kontrollera om det finns en ny version tillgänglig.

Följ stegen nedan för att installera den senaste PostgreSQL-versionen på din CentOS-server:

  1. Aktivera PostgreSQL-förvaret

    För att aktivera PostgreSQL-förvaret, installerar du bara RPM-filens förvar:

    sudo yum install

    Installera PostgreSQL

    När förvaret är aktiverat, installera PostgreSQL-servern och PostgreSQL-bidragspaketet med:

    sudo yum install postgresql10-server postgresql10-contrib

    Initiera databasen

    För att initiera PostgreSQL-databasstypen:

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

    Initializing database… OK

    Starta PostgreSQL

    För att starta PostgreSQL-tjänsten och aktivera den att starta på starttyp:

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

    Verifierar PostgreSQL-installation

    För att verifiera installationen kommer vi att försöka ansluta till PostgreSQL-databaseservern med psql verktyget och skriva ut serverns version:

    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)

PostgreSQL-roller och autentiseringsmetoder

Tillgångstillstånd för databaser inom PostgreSQL hanteras med rollbegreppet. En roll kan representera en databasanvändare eller en grupp databasanvändare.

PostgreSQL stöder flera autentiseringsmetoder. De vanligaste metoderna är:

  • Förtroende - Med denna metod kan rollen ansluta utan lösenord, så länge kriterierna som definieras i pg_hba.conf är uppfyllda. Passord - En roll kan anslutas genom att tillhandahålla ett lösenord. Lösenorden kan lagras som scram-sha-256 md5 och password (klartext).Ident - Den här metoden stöds endast på TCP / IP-anslutningar. Det fungerar genom att få klientens användarnamn för operativsystemet, med en valfri mappning för användarnamn. Peer - Samma som Ident men det stöds endast på lokala anslutningar.

PostgreSQL-klientautentisering definieras i konfigurationsfilen med namnet pg_hba.conf . Som standard är PostgreSQL för lokala anslutningar inställd på att använda peer-autentiseringsmetoden.

postgres användaren skapas automatiskt när du installerar PostgreSQL. Den här användaren är superanvändaren för PostgreSQL-instansen och motsvarar MySQL-rootanvändaren.

För att logga in på PostgreSQL-servern som postgres-användare måste du först byta till användarens postgres och sedan komma åt PostgreSQL-prompten med hjälp av psql verktyget:

sudo su - postgres psql

Härifrån kan du interagera med din PostgreSQL-instans. Om du vill lämna PostgreSQL-skalet skriver du:

\q

Du kan också komma åt PostgreSQL-prompten utan att byta användare med kommandot sudo :

sudo -u postgres psql

postgres användaren används vanligtvis endast från den lokala värden och det rekommenderas att inte ange lösenordet för den här användaren.

Om du installerade PostgreSQL version 10 från de officiella PostgreSQL-lagren, måste du använda den fulla sökvägen till psql binären som är /usr/pgsql-10/bin/psql .

Skapa PostgreSQL-roll och databas

Endast superanvändare och roller med CREATEROLE privilegium kan skapa nya roller.

I följande exempel skapar vi en ny roll som heter john en databas med namnet johndb och ger behörigheter i databasen.

  1. Anslut till PostgreSQL Shell

    sudo -u postgres psql

    Skapa en ny PostgreSQL-roll

    Följande kommando skapar en ny roll med namnet john:

    create role john;

    Skapa en ny PostgreSQL-databas

    Skapa en ny databas med namnet johndb med kommandot createdb :

    create database johndb;

    Bevilja privilegier

    För att ge behörigheter till john användaren i databasen som vi skapade i föregående steg kör du följande fråga:

    grant all privileges on database johndb to john;

Aktivera fjärråtkomst till PostgreSQL-servern

Som standard lyssnar PostgreSQL-servern endast på det lokala gränssnittet 127.0.0.1 . För att aktivera fjärråtkomst till din PostgreSQL-server öppnar du konfigurationsfilen postgresql.conf och lägger till listen_addresses = '*' i avsnittet CONNECTIONS AND AUTHENTICATION .

sudo vim /var/lib/pgsql/data/postgresql.conf Om du kör PostgreSQL version 10 är sökvägen till filen /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;

spara filen och starta om PostgreSQL-tjänsten med:

sudo systemctl restart postgresql Om du kör PostgreSQL version 10, starta om PostgreSQL-tjänsten med systemctl restart postgresql-10 .

Verifiera ändringarna med ss verktyget:

ss -nlt | grep 5432

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

Som du kan se från utgången ovan lyssnar PostgreSQL-servern på alla gränssnitt (0.0.0.0).

Det sista steget är att konfigurera servern för att acceptera fjärranslutningar genom att redigera filen pg_hba.conf .

Nedan följer några exempel som visar olika användningsfall:

/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 Om du kör PostgreSQL version 10 är hela sökvägen till filen /var/lib/pgsql/10/data/pg_hba.conf .

Slutsats

Du har lärt dig hur du installerar och konfigurerar PostgreSQL på din CentOS 7-server.

Du kan läsa PostgreSQL-dokumentationen för mer information om detta ämne.

centos postgresql-databas