Android

Hur man installerar postgresql på ubuntu 18.04

SQL - урок 1. Установка postgresql на Ubuntu 18.04.LTS.

SQL - урок 1. Установка postgresql на Ubuntu 18.04.LTS.

Innehållsförteckning:

Anonim

PostgreSQL eller Postgres är ett öppet källkodsobjektrelativt databashanteringssystem. PostgreSQL har många avancerade funktioner som låter dig skapa komplexa webbapplikationer.

I den här tutorialen visar vi dig hur du installerar PostgreSQL på Ubuntu 18.04 och utforskar grunderna i grundläggande 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 på Ubuntu

Vid skrivandet av denna artikel är den senaste versionen av PostgreSQL som är tillgänglig från de officiella Ubuntu-lagren PostgreSQL version 10.4.

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

  1. Installera PostgreSQL

    Uppdatera det lokala paketindexet och installera PostgreSQL-servern tillsammans med PostgreSQL-bidragspaketet som ger flera ytterligare funktioner för PostgreSQL-databasen:

    sudo apt update sudo apt install postgresql postgresql-contrib

    Verifierar PostgreSQL-installation

    När installationen är klar startar PostgreSQL-tjänsten automatiskt.

    För att verifiera installationen kommer vi att försöka ansluta till PostgreSQL-databasservern med psql och skriva ut serverversionen:

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

psql är ett interaktivt kommandoradsverktyg som låter dig interagera med PostgreSQL-servern.

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 mest använda ä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. Fungerar med att skaffa klientens användarnamn med operativsystem, 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 för lokala anslutningar är PostgreSQL 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 kan du komma åt en PostgreSQL-promp med hjälp av psql verktyget:

sudo su - postgres psql

Härifrån kan du interagera med din PostgreSQL-instans. För att avsluta PostgreSQL-skaltypen:

\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 ställa in lösenordet för den här användaren.

Skapa PostgreSQL-roll och databas

Du kan skapa nya roller från kommandoraden med hjälp av kommandot createuser . 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. Skapa en ny PostgreSQL-roll

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

    sudo su - postgres -c "createuser john"

    Skapa en ny PostgreSQL-databas

    Skapa en ny databas med namnet johndb med kommandot createdb :

    sudo su - postgres -c "createdb johndb"

    Bevilja privilegier

    För att ge behörigheter till john användaren i databasen som vi skapade i föregående steg ansluter du till PostgreSQL-skalet:

    sudo -u postgres psql

    och kör 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 /etc/postgresql/10/main/postgresql.conf /etc/postgresql/10/main/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 service postgresql restart

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:

/etc/postgresql/10/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

Slutsats

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

Du kan konsultera PostgreSQL 10.4-dokumentationen för mer information om detta ämne.

ubuntu postgresql-databas