Android

Paano i-install ang postgresql sa debian 9

Установка Postgresql в Debian 9 (Stretch)

Установка Postgresql в Debian 9 (Stretch)

Talaan ng mga Nilalaman:

Anonim

Ang PostgreSQL, na madalas na kilala lamang bilang Postgres, ay isang open-source pangkalahatang-layunin na object-relational database management system. Ang PostgreSQL ay may maraming mga advanced na tampok tulad ng mga online backup, point sa pagbawi ng oras, nested transaksyon, SQL at JSON querying, multi-bersyon concurrency control (MVCC), asynchronous pagtitiklop at marami pa.

Sa tutorial na ito, ipapakita namin sa iyo kung paano i-install ang PostgreSQL sa Debian 9 at tuklasin ang mga pangunahing kaalaman ng pamamahala ng database.

Mga kinakailangan

Bago magpatuloy sa tutorial na ito, siguraduhin na ang gumagamit na naka-log in ka ay may mga pribilehiyo ng sudo.

Pag-install ng PostgreSQL

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

Upang mai-install ang PostgreSQL sa iyong Debian server kumpletuhin ang mga sumusunod na hakbang:

  1. Magsimula sa pag-update ng index ng lokal na pakete:

    sudo apt update

    I-install ang PostgreSQL server at PostgreSQL contrib package na nagbibigay ng mga karagdagang tampok para sa PostgreSQL database:

    sudo apt install postgresql postgresql-contrib

    Kapag nakumpleto ang pag-install, awtomatikong magsisimula ang serbisyo ng PostgreSQL. Upang mapatunayan ang pag-install ay kumonekta kami sa server ng PostgreSQL database gamit ang utility ng psql at i-print ang bersyon ng server:

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

    Ang output ay magiging ganito:

    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)

Ang PSql ay isang interactive na programa ng terminal na nagbibigay-daan sa iyo upang makipag-ugnay sa server ng PostgreSQL.

Mga Tungkulin sa PostgreSQL at Mga Pamamaraan sa pagpapatunay

Hinahawakan 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 isang bilang ng mga pamamaraan ng pagpapatunay. Ang pinaka-karaniwang 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 pamamaraang ito ay sinusuportahan lamang sa mga koneksyon sa TCP / IP. Gumagana sa pamamagitan ng pagkuha ng pangalan ng gumagamit ng operating system ng kliyente, na may isang opsyonal na pagmamapa sa pangalan ng gumagamit.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 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 ma-access mo ang isang PostgreSQL prompt gamit ang psql utility:

sudo su - postgres psql

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

\q

Maaari mong gamitin ang utos ng sudo upang ma-access ang prompt ng PostgreSQL nang hindi lumilipat ang mga gumagamit:

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.

Paglikha ng PostgreSQL Role at Database

Maaari kang lumikha ng mga bagong tungkulin mula sa linya ng utos gamit ang utos ng createuser . 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. Lumikha ng isang bagong Riles ng PostgreSQL

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

    sudo su - postgres -c "createuser john"

    Lumikha ng isang bagong Database ng PostgreSQL

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

    sudo su - postgres -c "createdb johndb"

    Magkaloob ng mga pribilehiyo

    Upang magbigay ng mga pahintulot sa john user sa database na nilikha namin sa nakaraang hakbang, kumonekta sa shell ng PostgreSQL:

    sudo -u postgres psql

    at patakbuhin ang sumusunod na query:

    grant all privileges on database johndb to john;

Paganahin ang malayuang pag-access sa server ng PostgreSQL

Sa pamamagitan ng default ang PostgreSQL, nakikinig lamang ang server 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 /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;

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

sudo service postgresql restart

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:

/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

Konklusyon

Nalaman mo kung paano i-install at i-configure ang PostgreSQL sa iyong Debian 9 server. Para sa karagdagang impormasyon tungkol sa paksang ito, kumonsulta sa Dokumentasyon ng PostgreSQL.

database ng debian postgresql