Android

Paano i-install ang postgresql sa sentimo 7

install postgres12 and allow remote access on centos7

install postgres12 and allow remote access on centos7

Talaan ng mga Nilalaman:

Anonim

Ang PostgreSQL o Postgres ay isang bukas na mapagkukunan ng pangkalahatang layunin na sistema ng pamamahala ng database na may kaugnayan sa database na may maraming mga advanced na tampok na nagbibigay-daan sa iyo upang lumikha ng mga komplikadong aplikasyon sa web.

Sa tutorial na ito, ipapakita namin sa iyo ang dalawang magkakaibang pamamaraan sa kung paano i-install ang PostgreSQL sa iyong CentOS 7 machine. Ang unang pamamaraan ay maglakad sa iyo sa mga hakbang na kinakailangan upang mai-install ang PostgreSQL v9.2.23 mula sa mga repositori ng CentOS habang ang pangalawa ay magpapakita sa iyo kung paano i-install ang pinakabagong bersyon ng PostgreSQL mula sa opisyal na mga repositoriang PostgreSQL.

Kung hindi hinihiling ng iyong aplikasyon ang pinakabagong bersyon, inirerekumenda namin ang paggamit ng unang pamamaraan at i-install ang PostgreSQL mula sa mga repositori ng CentOS.

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

Mga kinakailangan

Bago magpatuloy sa tutorial na ito, siguraduhing naka-log in ka bilang isang gumagamit na may mga pribilehiyo ng sudo.

I-install ang PostgreSQL mula sa mga repositori ng CentOS

Sa panahon ng pagsulat ng artikulong ito, ang pinakabagong bersyon ng PostgreSQL na magagamit mula sa mga repositori ng CentOS ay PostgreSQL bersyon 9.2.23.

Upang mai-install ang PostgreSQL sa iyong CentOS server sundin ang mga hakbang sa ibaba:

  1. Pag-install ng PostgreSQL

    Upang mai-install ang server ng PostgreSQL kasama ang postgreSQL contrib package na nagbibigay ng maraming mga karagdagang tampok para sa PostgreSQL database lamang i-type:

    sudo yum install postgresql-server postgresql-contrib

    Pagsisimula ng Database

    Pilitin ang database ng PostgreSQL na may sumusunod na utos:

    sudo postgresql-setup initdb

    Initializing database… OK

    Simula sa PostgreSQL

    Upang simulan ang serbisyo ng PostgreSQL at paganahin ito upang magsimula sa boot simpleng uri:

    sudo systemctl start postgresql sudo systemctl enable postgresql

    Pag-verify ng Pag-install ng PostgreSQL

    Upang mapatunayan ang pag-install susubukan naming kumonekta sa server ng PostgreSQL database gamit ang tool na psql at i-print ang bersyon ng server:

    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)

Ang PSql ay isang utility utility interactive na nagbibigay-daan sa amin upang makipag-ugnay sa PostgreSQL server.

I-install ang PostgreSQL mula sa mga repositori na PostgreSQL

Sa oras ng pagsulat ng artikulong ito, ang pinakabagong bersyon ng PostgreSQL na magagamit mula sa opisyal na mga repositoriang PostgreSQL ay ang bersyon na PostgreSQL 10.4. Bago magpatuloy sa susunod na hakbang dapat mong bisitahin ang pahina ng PostgreSQL Yum Repository at suriin kung mayroong magagamit na bagong bersyon.

Sundin ang mga hakbang sa ibaba upang mai-install ang pinakabagong bersyon ng PostgreSQL sa iyong CentOS server:

  1. Paganahin ang repositoryo ng PostgreSQL

    Upang paganahin ang repositoryo ng PostgreSQL i-install lamang ang repository rpm file:

    sudo yum install

    Pag-install ng PostgreSQL

    Sa sandaling ang pag-install ay pinagana i-install ang PostgreSQL server at PostgreSQL contrib packages na may:

    sudo yum install postgresql10-server postgresql10-contrib

    Pagsisimula ng Database

    Upang simulan ang uri ng database ng PostgreSQL:

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

    Initializing database… OK

    Simula sa PostgreSQL

    Upang simulan ang serbisyo ng PostgreSQL at paganahin ito upang magsimula sa uri ng boot:

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

    Pag-verify ng Pag-install ng PostgreSQL

    Upang mapatunayan ang pag-install susubukan naming kumonekta sa server ng PostgreSQL database gamit ang tool na psql at i-print ang bersyon ng server:

    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)

Mga Tungkulin sa PostgreSQL at Mga Pamamaraan sa pagpapatunay

Ang mga pahintulot sa pag-access sa database sa loob ng PostgreSQL ay hawakan ng 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 - Sa pamamaraang ito, ang papel ay maaaring kumonekta nang walang isang password, hangga't ang mga pamantayang 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 - Ang pamamaraan na ito ay 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 - Same as Ident 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 nag-install ka ng PostgreSQL. Ang gumagamit na ito ay ang superuser para sa postgreSQL halimbawa at katumbas ito ng MySQL root user.

Upang mag-log in sa PostgreSQL server bilang postgres user una kailangan mong lumipat sa mga postgres ng gumagamit at pagkatapos ay i-access ang PostgreSQL prompt gamit ang psql utility:

sudo su - postgres psql

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

\q

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

sudo -u postgres psql

Ang gumagamit ng postgres ay karaniwang ginagamit lamang mula sa lokal na host at inirerekumenda na huwag itakda ang password para sa gumagamit na ito.

Kung na-install mo ang bersyon ng PostgreSQL 10 mula sa opisyal na mga repositori ng PostgreSQL, kakailanganin mong gamitin ang buong landas sa binary psql na /usr/pgsql-10/bin/psql .

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. Kumonekta sa Shell ng PostgreSQL

    sudo -u postgres psql

    Lumikha ng isang bagong Riles ng PostgreSQL

    Ang sumusunod na utos ay lilikha ng isang bagong papel na nagngangalang john:

    create role john;

    Lumikha ng isang bagong Database ng PostgreSQL

    Lumikha ng isang bagong database na nagngangalang johndb gamit ang createdb utos:

    create database johndb;

    Magkaloob ng mga pribilehiyo

    Upang magbigay ng mga pahintulot sa john user sa database na nilikha namin sa nakaraang hakbang, patakbuhin ang 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 configuration file postgresql.conf at magdagdag ng listen_addresses = '*' sa seksyong Mga listen_addresses = '*' CONNECTIONS AND AUTHENTICATION .

sudo vim /var/lib/pgsql/data/postgresql.conf Kung nagpapatakbo ka ng bersyon ng PostgreSQL 10, ang landas sa file ay /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;

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

sudo systemctl restart postgresql Kung nagpapatakbo ka ng bersyon ng PostgreSQL 10, i-restart ang serbisyo ng PostgreSQL na may systemctl restart postgresql-10 .

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:*

Tulad ng nakikita mo mula sa output sa itaas ng server ng PostgreSQL ay nakikinig 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 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 Kung nagpapatakbo ka ng bersyon ng PostgreSQL 10, ang buong landas sa file ay /var/lib/pgsql/10/data/pg_hba.conf .

Konklusyon

Nalaman mo kung paano i-install at i-configure ang PostgreSQL sa iyong CentOS 7 server.

Maaari kang kumunsulta sa Dokumentasyon ng PostgreSQL para sa karagdagang impormasyon sa paksang ito.

centos postgresql database