Android

Paano i-install ang postgresql sa sentimo 8

How to Install PostgreSQL 12 on CentOS 8 RHEL 8

How to Install PostgreSQL 12 on CentOS 8 RHEL 8

Talaan ng mga Nilalaman:

Anonim

Ang PostgreSQL o Postgres ay isang open-source pangkalahatang-layunin na sistema ng pamamahala ng database ng pamamahala ng database na may maraming mga advanced na tampok na nagbibigay-daan sa iyo upang makabuo ng mga kapaligiran na may kasalanan o kumplikadong aplikasyon.

Sa gabay na ito, tatalakayin namin kung paano i-install ang server ng PostgreSQL database sa CentOS 8. Bago pumili ng aling bersyon na mai-install, tiyaking sinusuportahan ito ng iyong mga aplikasyon.

Susuriin din namin ang mga pangunahing kaalaman ng pangangasiwa ng database ng PostgreSQL.

Mga kinakailangan

Upang mai-install ang mga pakete, kailangan mong mai-log in bilang ugat o gumagamit na may mga pribilehiyo ng sudo.

Pag-install ng PostgreSQL sa CentOS 8

Sa panahon ng pagsulat ng artikulong ito, mayroong dalawang mga bersyon ng PostgreSQL server na magagamit para sa pag-install mula sa karaniwang mga repositories ng CentOS: bersyon 9.6 at 10.0.

Upang ilista ang magagamit na mga module ng PostgreSQL, uri:

dnf module list postgresql

Ipinapakita ng output na magagamit ang module ng postgresql na may dalawang mga stream. Ang bawat stream ay may dalawang profile: server at client. Ang Stream 10 kasama ang profile ng server ay ang default isa:

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. Upang mai-install ang default na stream, ang bersyon ng PostgreSQL server na 10.0 na uri:

    sudo dnf install @postgresql:10

    Upang mai-install ang bersyon ng Server ng PostgreSQL 9.6:

    sudo dnf install @postgresql:9.6

Maaari mo ring i-install ang package ng contrib na nagbibigay ng maraming mga karagdagang tampok para sa PostgreSQL database:

sudo dnf install postgresql-contrib

Kapag kumpleto ang pag-install, simulan ang database ng PostgreSQL kasama ang sumusunod na utos:

sudo postgresql-setup initdb

Initializing database… OK

Simulan ang serbisyo ng PostgreSQL at paganahin ito upang magsimula sa boot:

sudo systemctl enable --now postgresql

Gamitin ang tool na psql upang mapatunayan ang pag-install sa pamamagitan ng pagkonekta sa server ng PostgreSQL database at i-print ang bersyon nito:

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

Mga Tungkulin sa PostgreSQL at Mga Pamamaraan sa pagpapatunay

Hinahawak ng PostgreSQL ang mga pahintulot sa pag-access sa database gamit ang konsepto ng mga tungkulin. Ang isang papel ay maaaring kumatawan sa isang gumagamit ng database o isang pangkat ng mga gumagamit ng database.

Sinusuportahan ng PostgreSQL ang maraming mga pamamaraan ng pagpapatunay. Ang pinakakaraniwang ginagamit na pamamaraan ay:

  • Tiwala - Ang isang tungkulin ay maaaring kumonekta nang walang isang password, hangga't ang mga kundisyon na tinukoy sa pg_hba.conf ay natagpuan.Password - Ang isang papel ay maaaring kumonekta sa pamamagitan ng pagbibigay ng isang password. Ang mga password ay maaaring maiimbak bilang scram-sha-256 , md5 , at password (clear-text).Ident - Sinusuportahan lamang sa mga koneksyon sa TCP / IP. Gumagana ito sa pamamagitan ng pagkuha ng pangalan ng gumagamit ng operating system ng kliyente, na may isang opsyonal na user name mapping.Peer - Pareho bilang Pagkilala, ngunit sinusuportahan lamang ito sa mga lokal na koneksyon.

Ang pagpapatunay ng kliyente ng PostgreSQL ay tinukoy sa file ng pagsasaayos na pinangalanan pg_hba.conf . Bilang default, para sa mga lokal na koneksyon, ang PostgreSQL ay nakatakda upang gamitin ang paraan ng pagpapatunay ng peer.

Ang gumagamit ng postgres ay awtomatikong nilikha kapag na-install mo ang server ng PostgreSQL. Ang gumagamit na ito ay ang superuser para sa postgreSQL halimbawa. Ito ay katumbas ng MySQL root user.

Upang mag-log in sa PostgreSQL server bilang gumagamit ng postgres , lumipat muna sa gumagamit at pagkatapos ay i-access ang prompt ng PostgreSQL gamit ang utility ng psql :

sudo su - postgres psql

Mula dito, maaari kang makipag-ugnay sa halimbawa ng PostgreSQL. Upang makalabas sa shell ng PostgreSQL, uri:

\q

Maaari mo ring mai-access ang prompt ng PostgreSQL nang hindi lumilipat ang mga gumagamit gamit ang utos ng sudo :

sudo -u postgres psql

Karaniwan ang gumagamit ng postgres ay ginagamit lamang mula sa localhost.

Paglikha ng PostgreSQL Role at Database

Tanging ang mga superuser at tungkulin na may pribilehiyo ng CREATEROLE maaaring lumikha ng mga bagong tungkulin.

Sa sumusunod na halimbawa, gagawa kami ng isang bagong papel na nagngangalang john , isang database na nagngangalang johndb , at magbigay ng mga pribilehiyo sa database.

  1. Una, kumonekta sa shell ng PostgreSQL:

    sudo -u postgres psql

    Lumikha ng isang bagong papel na PostgreSQL gamit ang sumusunod na utos:

    create role john;

    Lumikha ng isang bagong database:

    create database johndb;

    Magkaloob ng mga pribilehiyo sa gumagamit sa database sa pamamagitan ng pagpapatakbo ng sumusunod na query:

    grant all privileges on database johndb to john;

Paganahin ang malayuang pag-access sa server ng PostgreSQL

Bilang default, nakikinig lamang ang server ng PostgreSQL sa lokal na interface 127.0.0.1 .

Upang paganahin ang malayuang pag-access sa iyong PostgreSQL server, buksan ang file ng pagsasaayos:

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

Mag-scroll pababa sa seksyon ng Mga CONNECTIONS AND AUTHENTICATION at idagdag / i-edit ang sumusunod na linya:

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

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

I-save ang file at i-restart ang serbisyo ng PostgreSQL sa:

sudo systemctl restart postgresql

Patunayan ang mga pagbabago sa utility ng ss :

ss -nlt | grep 5432

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

Ang output sa itaas ay nagpapakita na ang PostgreSQL server ay nakikinig sa default port sa lahat ng mga interface (0.0.0.0).

Ang huling hakbang ay upang mai-configure ang server upang tanggapin ang mga malalayong koneksyon sa pamamagitan ng pag-edit ng pg_hba.conf file.

Nasa ibaba ang ilang mga halimbawa na nagpapakita ng iba't ibang mga kaso sa paggamit:

/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

Konklusyon

Nagbibigay ang CentOS 8 ng dalawang bersyon ng PostgreSQL: 9.6 at 10.0.

Para sa karagdagang impormasyon tungkol sa paksang ito bisitahin ang Dokumentasyon ng PostgreSQL

centos postgresql database