Android

Hvordan installere postgresql på centos 7

Install Postgres on Centos 7

Install Postgres on Centos 7

Innholdsfortegnelse:

Anonim

PostgreSQL eller Postgres er et open source generell objekt-relasjonell databasesystem med mange avanserte funksjoner som lar deg lage komplekse webapplikasjoner.

I denne opplæringen vil vi vise deg to forskjellige metoder for hvordan du installerer PostgreSQL på CentOS 7-maskinen din. Den første metoden vil lede deg gjennom trinnene som er nødvendige for å installere PostgreSQL v9.2.23 fra CentOS-depotene, mens den andre vil vise deg hvordan du installerer den nyeste versjonen av PostgreSQL fra de offisielle PostgreSQL-depotene.

Hvis applikasjonen din ikke krever den nyeste versjonen, anbefaler vi å bruke den første metoden og installere PostgreSQL fra CentOS-depotene.

Vi vil også utforske grunnleggende elementer i PostgreSQL databaseadministrasjon.

Forutsetninger

Før du fortsetter med denne opplæringen, må du sørge for at du er logget inn som en bruker med sudo-rettigheter.

Installer PostgreSQL fra CentOS-depotene

Når jeg skriver denne artikkelen, er den siste versjonen av PostgreSQL tilgjengelig fra CentOS-depotene PostgreSQL versjon 9.2.23.

Følg trinnene nedenfor for å installere PostgreSQL på CentOS-serveren:

  1. Installerer PostgreSQL

    For å installere PostgreSQL-serveren sammen med PostgreSQL contrib-pakken som gir flere tilleggsfunksjoner for PostgreSQL-databasen, skriver du ganske enkelt:

    sudo yum install postgresql-server postgresql-contrib

    Initialisering av databasen

    Initialiser PostgreSQL-databasen med følgende kommando:

    sudo postgresql-setup initdb

    Initializing database… OK

    Starter PostgreSQL

    For å starte PostgreSQL-tjenesten og aktivere den til å starte på oppstart skriver du ganske enkelt:

    sudo systemctl start postgresql sudo systemctl enable postgresql

    Verifiserer PostgreSQL-installasjon

    For å bekrefte installasjonen vil vi prøve å koble til PostgreSQL-databaseserveren ved hjelp av psql verktøyet og skrive ut serverversjonen:

    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 er et interaktivt kommandolinjeværktøy som lar oss samhandle med PostgreSQL-serveren.

Installer PostgreSQL fra PostgreSQL-depotene

I skrivende stund skriver denne artikkelen, er den siste versjonen av PostgreSQL tilgjengelig fra de offisielle PostgreSQL-depotene PostgreSQL versjon 10.4. Før du fortsetter med neste trinn, bør du gå til PostgreSQL Yum Repository-siden og sjekke om det er en ny versjon tilgjengelig.

Følg trinnene nedenfor for å installere den nyeste PostgreSQL-versjonen på CentOS-serveren:

  1. Aktiverer PostgreSQL-depot

    For å aktivere PostgreSQL-depotet, installer du bare rpm filen for repository:

    sudo yum install

    Installerer PostgreSQL

    Når depotet er aktivert, installer PostgreSQL-serveren og PostgreSQL contrib-pakker med:

    sudo yum install postgresql10-server postgresql10-contrib

    Initialisering av databasen

    Slik initialiserer du PostgreSQL-databasetypen:

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

    Initializing database… OK

    Starter PostgreSQL

    Slik starter du PostgreSQL-tjenesten og aktiverer den til å starte på starttype:

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

    Verifiserer PostgreSQL-installasjon

    For å bekrefte installasjonen vil vi prøve å koble til PostgreSQL-databaseserveren ved hjelp av psql verktøyet og skrive ut serverversjonen:

    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 og autentiseringsmetoder

Datatilgangstillatelser i PostgreSQL håndteres med begrepet roller. En rolle kan representere en databasebruker eller en gruppe databasebrukere.

PostgreSQL støtter flere autentiseringsmetoder. De mest brukte metodene er:

  • Tillit - Med denne metoden kan rollen koble seg til uten et passord, så lenge kriteriene som er definert i pg_hba.conf er oppfylt. Passord - En rolle kan koble seg ved å oppgi et passord. Passordene kan lagres som scram-sha-256 md5 og password (klartekst).Ident - Denne metoden støttes bare på TCP / IP-tilkoblinger. Det fungerer ved å skaffe klientens brukernavn brukernavn, med en valgfri brukernavnskartlegging. Peer - Samme som Ident, men det støttes bare på lokale tilkoblinger.

PostgreSQL-klientgodkjenning er definert i konfigurasjonsfilen som heter pg_hba.conf . For lokale tilkoblinger er PostgreSQL som standard satt til å bruke peer-autentiseringsmetoden.

postgres brukeren opprettes automatisk når du installerer PostgreSQL. Denne brukeren er superbrukeren for PostgreSQL-forekomsten, og den tilsvarer MySQL-rotbrukeren.

For å logge på PostgreSQL-serveren som postgres-bruker først, må du bytte til brukerpostgres og deretter få tilgang til PostgreSQL-ledeteksten ved hjelp av psql verktøyet:

sudo su - postgres psql

Herfra kan du samhandle med PostgreSQL-forekomsten. For å gå ut av PostgreSQL-skallet, skriver du:

\q

Du kan også få tilgang til PostgreSQL-ledeteksten uten å bytte brukere ved å bruke sudo kommandoen:

sudo -u postgres psql

postgres brukeren brukes vanligvis bare fra den lokale verten, og det anbefales ikke å angi passord for denne brukeren.

Hvis du installerte PostgreSQL versjon 10 fra de offisielle PostgreSQL-depotene, må du bruke hele banen til psql som er /usr/pgsql-10/bin/psql .

Opprette PostgreSQL rolle og database

Bare superusere og roller med CREATEROLE privilegium kan lage nye roller.

I det følgende eksemplet vil vi opprette en ny rolle som heter john en database som heter johndb og gi rettigheter i databasen.

  1. Koble til PostgreSQL Shell

    sudo -u postgres psql

    Lag en ny PostgreSQL-rolle

    Følgende kommando vil opprette en ny rolle som heter john:

    create role john;

    Lag en ny PostgreSQL-database

    Lag en ny database med navnet johndb ved å bruke kommandoen createb:

    create database johndb;

    Gi privilegier

    For å gi tillatelser til john brukeren i databasen vi opprettet i forrige trinn, kjører du følgende spørring:

    grant all privileges on database johndb to john;

Aktiver ekstern tilgang til PostgreSQL-serveren

Som standard lytter PostgreSQL-serveren bare til det lokale grensesnittet 127.0.0.1 . For å aktivere ekstern tilgang til PostgreSQL-serveren, åpner du konfigurasjonsfilen postgresql.conf og legger til listen_addresses = '*' i delen CONNECTIONS AND AUTHENTICATION .

sudo vim /var/lib/pgsql/data/postgresql.conf Hvis du kjører PostgreSQL versjon 10, er banen til 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;

lagre filen og start PostgreSQL-tjenesten på nytt med:

sudo systemctl restart postgresql Hvis du kjører PostgreSQL versjon 10, start PostgreSQL-tjenesten på nytt med systemctl restart postgresql-10 .

Bekreft endringene med ss verktøyet:

ss -nlt | grep 5432

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

Som du kan se fra utgangen over, hører PostgreSQL-serveren på alle grensesnitt (0.0.0.0).

Det siste trinnet er å konfigurere serveren til å godta fjerntilkoblinger ved å redigere filen pg_hba.conf .

Nedenfor er noen eksempler som viser forskjellige brukssaker:

/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 Hvis du kjører PostgreSQL versjon 10, er hele banen til filen /var/lib/pgsql/10/data/pg_hba.conf .

Konklusjon

Du har lært hvordan du installerer og konfigurerer PostgreSQL på CentOS 7-serveren.

Du kan konsultere PostgreSQL-dokumentasjonen for mer informasjon om dette emnet.

centos postgresql database