Android

Kuinka asentaa postgresql centos 8: een

Howto install Ambari on Ubuntu

Howto install Ambari on Ubuntu

Sisällysluettelo:

Anonim

PostgreSQL tai Postgres on avoimen lähdekoodin yleiskäyttöinen objekti-relaatiotietokannan hallintajärjestelmä, jolla on monia edistyneitä ominaisuuksia ja jonka avulla voit rakentaa vikasietoisia ympäristöjä tai monimutkaisia ​​sovelluksia.

Tässä oppaassa käsittelemme PostgreSQL-tietokantapalvelimen asentamista CentOS 8: een. Ennen kuin valitset asennettavan version, varmista, että sovelluksesi tukevat sitä.

Tutkimme myös PostgreSQL-tietokannan hallinnan perusteita.

edellytykset

Pakettien asentaminen edellyttää, että olet kirjautunut sisään pääkäyttäjänä tai käyttäjänä, jolla on sudo-oikeudet.

PostgreSQL: n asentaminen CentOS 8: een

Tämän artikkelin kirjoittamishetkellä on olemassa kaksi PostgreSQL-palvelimen versiota, jotka ovat asennettavissa tavallisista CentOS-arkistoista: versio 9.6 ja 10.0.

Voit luetteloida käytettävissä olevat PostgreSQL-moduulivirrat kirjoittamalla:

dnf module list postgresql

Tulos osoittaa, että postgresql-moduuli on saatavana kahdella virralla. Jokaisella streamilla on kaksi profiilia: palvelin ja asiakas. Stream 10 profiilipalvelimen kanssa on oletus:

CentOS-8 - AppStream Name Stream Profiles Summary postgresql 10 client, server PostgreSQL server and client module postgresql 9.6 client, server PostgreSQL server and client module

  1. Oletusvirran asentamiseksi PostgreSQL-palvelimen version 10.0 tyyppi:

    sudo dnf install @postgresql:10

    PostgreSQL-palvelimen version 9.6 asentaminen kirjoita:

    sudo dnf install @postgresql:9.6

Voit myös asentaa osallistumispaketin, joka tarjoaa useita lisäominaisuuksia PostgreSQL-tietokannalle:

sudo dnf install postgresql-contrib

Kun asennus on valmis, alusta PostgreSQL-tietokanta seuraavalla komennolla:

sudo postgresql-setup initdb

Initializing database… OK

Käynnistä PostgreSQL-palvelu ja anna sen käynnistyä käynnistyksen yhteydessä:

sudo systemctl enable --now postgresql

Vahvista asennus psql työkalulla muodostamalla yhteys PostgreSQL-tietokantapalvelimeen ja tulostamalla sen versio:

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

PostgreSQL 10.6 on x86_64-redhat-linux-gnu, compiled by gcc (GCC) 8.2.1 20180905 (Red Hat 8.2.1-3), 64-bit

PostgreSQL-roolit ja todennusmenetelmät

PostgreSQL käsittelee tietokannan käyttöoikeudet käyttämällä roolien käsitettä. Rooli voi edustaa tietokannan käyttäjää tai tietokannan käyttäjien ryhmää.

PostgreSQL tukee useita todennusmenetelmiä. Yleisimmin käytetyt menetelmät ovat:

  • Luottamus - rooli voi muodostaa yhteyden ilman salasanaa, kunhan pg_hba.conf pg_hba.conf määritellyt ehdot täyttyvät.Sanasi - rooli voi muodostaa yhteyden antamalla salasanan. Salasanat voidaan tallentaa scram-sha-256 , md5 ja password (tyhjentävä teksti).Ident - tukee vain TCP / IP-yhteyksiä. Se toimii hankkimalla asiakkaan käyttöjärjestelmän käyttäjänimi valinnaisella käyttäjän nimellä kartoitus.Peer - Sama kuin Ident, mutta sitä tuetaan vain paikallisissa yhteyksissä.

PostgreSQL-asiakastodennus määritetään määritystiedostossa nimeltä pg_hba.conf . Oletusarvoisesti paikallisille yhteyksille PostgreSQL on asetettu käyttämään vertaisvarmennusmenetelmää.

postgres käyttäjä luodaan automaattisesti, kun asennat PostgreSQL-palvelimen. Tämä käyttäjä on PostgreSQL-ilmentymän pääkäyttäjä. Se vastaa MySQL-pääkäyttäjää.

Jos haluat kirjautua sisään PostgreSQL-palvelimeen postgres käyttäjänä, siirry ensin käyttäjälle ja siirry sitten PostgreSQL-kehotukseen psql apuohjelmalla:

sudo su - postgres psql

Täältä voit olla vuorovaikutuksessa PostgreSQL-ilmentymän kanssa. Voit poistua PostgreSQL-kuorista kirjoittamalla:

\q

Voit käyttää myös PostgreSQL-kehotetta vaihtamatta käyttäjiä sudo komennolla:

sudo -u postgres psql

Tyypillisesti postgres käyttäjää käytetään vain localhostista.

PostgreSQL-roolin ja tietokannan luominen

Vain pääkäyttäjät ja roolit, joilla on CREATEROLE oikeudet, voivat luoda uusia rooleja.

Seuraavassa esimerkissä luomme uuden roolin nimeltä john , johndb niminen tietokanta ja johndb käyttöoikeudet tietokantaan.

  1. Yhdistä ensin PostgreSQL-kuori:

    sudo -u postgres psql

    Luo uusi PostgreSQL-rooli seuraavaa komentoa käyttämällä:

    create role john;

    Luo uusi tietokanta:

    create database johndb;

    Myönnä käyttöoikeudet tietokannan käyttäjälle suorittamalla seuraava kysely:

    grant all privileges on database johndb to john;

Ota etäyhteys PostgreSQL-palvelimeen

Oletuksena PostgreSQL-palvelin kuuntelee vain paikallista käyttöliittymää 127.0.0.1 .

Jos haluat ottaa etäkäytön PostgreSQL-palvelimeesi, avaa määritystiedosto:

sudo nano /var/lib/pgsql/data/postgresql.conf

Vieritä alas CONNECTIONS AND AUTHENTICATION ja lisää / muokkaa seuraavaa riviä:

/var/lib/pgsql/data/postgresql.conf

#------------------------------------------------------------------------------ # CONNECTIONS AND AUTHENTICATION #------------------------------------------------------------------------------ # - Connection Settings - listen_addresses = '*' # what IP address(es) to listen on;

Tallenna tiedosto ja käynnistä PostgreSQL-palvelu uudelleen:

sudo systemctl restart postgresql

Varmista muutokset ss apuohjelmalla:

ss -nlt | grep 5432

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

Yllä oleva tulos osoittaa, että PostgreSQL-palvelin kuuntelee kaikkien rajapintojen oletusporttia (0.0.0.0).

Viimeinen vaihe on määrittää palvelin hyväksymään etäyhteydet muokkaamalla pg_hba.conf tiedostoa.

Alla on esimerkkejä erilaisista käyttötapauksista:

/var/lib/pgsql/data/pg_hba.conf

# TYPE DATABASE USER ADDRESS METHOD # The user jane can access all databases from all locations using an md5 password host all jane 0.0.0.0/0 md5 # The user jane can access only the janedb database from all locations using an md5 password host janedb jane 0.0.0.0/0 md5 # The user jane can access all databases from a trusted location (192.168.1.134) without a password host all jane 192.168.1.134 trust

johtopäätös

CentOS 8 tarjoaa kaksi PostgreSQL-versiota: 9.6 ja 10.0.

Lisätietoja tästä aiheesta käy PostgreSQL-dokumentaatiossa

sentos postgresql-tietokanta