Android

Kuinka asentaa postgresql debian 9: een

Howto install Ambari on Ubuntu

Howto install Ambari on Ubuntu

Sisällysluettelo:

Anonim

PostgreSQL, joka tunnetaan usein yksinkertaisesti nimellä Postgres, on avoimen lähdekoodin yleiskäyttöinen objekti-relaatiotietokannan hallintajärjestelmä. PostgreSQL: ssä on monia edistyneitä ominaisuuksia, kuten online-varmuuskopiot, ajankohtainen palautus, sisäkkäiset tapahtumat, SQL- ja JSON-kyselyt, moniversioinen samanaikaisuuden hallinta (MVCC), asynkroninen replikointi ja paljon muuta.

Tässä opetusohjelmassa osoitamme sinulle, kuinka asennat PostgreSQL Debian 9: ään ja tutkimme perustietokannan hallinnan perusteita.

edellytykset

Ennen kuin jatkat tätä opetusohjelmaa, varmista, että kirjautuneella käyttäjällä on sudo-oikeudet.

PostgreSQL: n asentaminen

Tämän artikkelin kirjoittamishetkellä viimeisin PostgreSQL-versio, joka on saatavana Debianin arkistoista, on PostgreSQL-versio 9.6.

Asenna PostgreSQL Debian-palvelimellesi seuraavasti:

  1. Aloita päivittämällä paikallinen pakettihakemisto:

    sudo apt update

    Asenna PostgreSQL-palvelin ja PostgreSQL-paketti, joka tarjoaa lisäominaisuuksia PostgreSQL-tietokannalle:

    sudo apt install postgresql postgresql-contrib

    Kun asennus on valmis, PostgreSQL-palvelu käynnistyy automaattisesti. Asennuksen tarkistamiseksi yhdistämme PostgreSQL-tietokantapalvelimeen psql apuohjelman avulla ja tulostamme palvelimen version:

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

    Tulos näyttää tältä:

    version ----------------------------------------------------------------------------------------------------------- PostgreSQL 9.6.10 on x86_64-pc-linux-gnu, compiled by gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516, 64-bit (1 row)

Psql on interaktiivinen pääteohjelma, jonka avulla voit olla vuorovaikutuksessa PostgreSQL-palvelimen kanssa.

PostgreSQL-roolit ja todennusmenetelmät

PostgreSQL käsittelee tietokannan käyttöoikeuksia roolien käsitteen avulla. Rooli voi edustaa tietokannan käyttäjää tai tietokannan käyttäjien ryhmää.

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

  • Luottamus - Tällä menetelmällä rooli voi muodostaa yhteyden ilman salasanaa, kunhan pg_hba.conf pg_hba.conf määritellyt kriteerit täyttyvät.Sanasi - rooli voi muodostaa yhteyden antamalla salasanan. Salasanat voidaan tallentaa scram-sha-256 md5 ja password (tyhjentävä teksti) -identti - Tätä menetelmää tuetaan vain TCP / IP-yhteyksissä. Toimii hankkimalla asiakkaan käyttöjärjestelmän käyttäjänimen 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 . Paikallisten yhteyksien oletusasetuksena PostgreSQL on asetettu käyttämään vertaisarviointimenetelmää.

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

Jos haluat kirjautua sisään PostgreSQL-palvelimeen postgres-käyttäjänä, sinun on ensin vaihdettava käyttäjän postgres-sovellukseen ja sitten päästä PostgreSQL-kehotteeseen psql apuohjelmalla:

sudo su - postgres psql

Täältä voit olla vuorovaikutuksessa PostgreSQL-ilmentymän kanssa. Poistuminen PostgreSQL-shell-tyypistä:

\q

Voit käyttää sudo komentoa päästäksesi PostgreSQL-kehotteeseen vaihtamatta käyttäjiä:

sudo -u postgres psql

postgres käyttäjää käytetään tyypillisesti vain paikallisesta isännästä, joten ei suositella asettamaan salasanaa tälle käyttäjälle.

PostgreSQL-roolin ja tietokannan luominen

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

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

  1. Luo uusi PostgreSQL-rooli

    Seuraava komento luo uuden roolin nimeltä john:

    sudo su - postgres -c "createuser john"

    Luo uusi PostgreSQL-tietokanta

    Luo uusi johndb-tietokanta luodulla komennolla:

    sudo su - postgres -c "createdb johndb"

    Antaa etuoikeuksia

    Jos haluat myöntää käyttöoikeudet john käyttäjälle edellisessä vaiheessa luomassa tietokannassa, muodosta yhteys PostgreSQL-kuoreen:

    sudo -u postgres psql

    ja suorita 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 . Aktivoidaksesi PostgreSQL-palvelimen etäkäyttö avaa asetustiedosto postgresql.conf ja lisää listen_addresses = '*' CONNECTIONS AND AUTHENTICATION listen_addresses = '*' -osiossa.

sudo vim /etc/postgresql/9.6/main/postgresql.conf /etc/postgresql/9.6/main/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 service postgresql restart

Varmista muutokset ss apuohjelmalla:

ss -nlt | grep 5432

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

Kuten yllä olevasta tuotosta voidaan nähdä, PostgreSQL-palvelin kuuntelee kaikkia rajapintoja (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:

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

johtopäätös

Olet oppinut kuinka asentaa ja määrittää PostgreSQL Debian 9 -palvelimellesi. Lisätietoja tästä aiheesta on PostgreSQL-dokumentaatiossa.

debian postgresql-tietokanta