Android

Paano i-install ang postgresql sa debian 10

How to Install and configuration PostgreSQL on Ubuntu Linux

How to Install and configuration PostgreSQL on Ubuntu Linux

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. Mayroon itong maraming malakas na tampok tulad ng mga online backup, point sa pagbawi ng oras, nested transaksyon, SQL at JSON querying, multi-bersyon concurrency control (MVCC), asynchronous replication, at marami pa.

Nilalakad ka ng tutorial na ito sa mga hakbang ng pag-install ng server ng PostgreSQL database sa Debian 10. Susubukan din naming tuklasin ang mga pangunahing kaalaman ng pangunahing pamamahala sa database.

Pag-install ng PostgreSQL

Sa oras ng pagsulat ng artikulong ito, ang pinakabagong bersyon ng PostgreSQL na magagamit mula sa default na mga repositori sa Debian ay ang PostgreSQL bersyon 11.5.

Upang mai-install ang PostgreSQL sa iyong Debian server isagawa ang mga sumusunod na hakbang bilang ugat o gumagamit na may mga pribilehiyo ng sudo:

  1. Magsimula sa pag-update ng index ng APT package:

    sudo apt update

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

    sudo apt install postgresql postgresql-contrib

    Kapag kumpleto ang pag-install, magsisimula ang serbisyo ng PostgreSQL. Upang i-verify ang pag-install, gamitin ang tool na psql upang i-print ang bersyon ng server:

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

    Ang output ay dapat magmukhang isang bagay tulad ng mga sumusunod:

    PostgreSQL 11.5 (Debian 11.5-1+deb10u1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit

psql ay isang interactive na programa sa 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. Depende sa kung paano mo itinakda ang papel, maaari itong kumatawan sa isang database ng gumagamit o isang pangkat ng mga gumagamit ng database.

Sinusuportahan ng PostgreSQL ang ilang mga pamamaraan ng pagpapatunay. Ang pinaka madalas na ginagamit na pamamaraan ay:

  • Tiwala - Ang isang tungkulin 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 - Suporta lamang para 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 . Para sa mga lokal na koneksyon, ang PostgreSQL ay nakatakda upang gamitin ang paraan ng pagpapatotoo ng peer.

Ang "postgres" na gumagamit ay awtomatikong nilikha kapag nai-install ang 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", lumipat sa mga post ng gumagamit at ma-access ang isang PostgreSQL prompt gamit ang psql utility:

sudo su - postgres psql

Mula dito maaari kang makipag-ugnay sa server ng PostgreSQL. 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 localhost.

Paglikha ng PostgreSQL Role at Database

Pinapayagan ka ng createuser upang lumikha ng mga bagong tungkulin mula sa linya ng command. 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 kylo , isang database na nagngangalang kylodb at magbigay ng mga pribilehiyo sa database sa papel.

  1. Una, lumikha ng papel sa pamamagitan ng pagpapalabas ng sumusunod na utos:

    sudo su - postgres -c "createuser kylo"

    Susunod, lumikha ng database gamit ang createdb utos:

    sudo su - postgres -c "createdb kylodb"

    Upang magbigay ng mga pahintulot sa gumagamit sa database, kumonekta sa shell ng PostgreSQL:

    sudo -u postgres psql

    Patakbuhin ang sumusunod na query:

    grant all privileges on database kylodb to kylo;

Paganahin ang Remote Access sa PostgreSQL Server

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

Buksan ang file ng pagsasaayos ng postgresql.conf at idagdag ang listen_addresses = '*' sa seksyong Mga listen_addresses = '*' CONNECTIONS AND AUTHENTICATION . Ituturo ito sa server na makinig sa lahat ng mga interface ng network.

sudo nano /etc/postgresql/11/main/postgresql.conf /etc/postgresql/11/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 para sa mga pagbabago na magkakabisa:

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

Ang output ay dapat ipakita na ang 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 malayuang pag-login 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/11/main/pg_hba.conf

# TYPE DATABASE USER ADDRESS METHOD # The user jane will be able to access all databases from all locations using an 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 an 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

Ipinakita namin sa iyo kung paano i-install at i-configure ang PostgreSQL sa Debian 10. Para sa karagdagang impormasyon tungkol sa paksang ito, kumunsulta sa PostgreSQL Documentation.

database ng debian postgresql