ວິທີການຕິດຕັ້ງແລະໃຊ້ PostgreSQL ໃນ Ubuntu 18.04


PostgreSQL (Postgres ໃນສັ້ນ) ແມ່ນແຫຼ່ງເປີດ, ມີປະສິດທິພາບ, ກ້າວ ໜ້າ, ມີປະສິດຕິພາບສູງແລະມີລະບົບຖານຂໍ້ມູນເອກະສານທີ່ ໝັ້ນ ຄົງ. ມັນໃຊ້ແລະເສີມຂະຫຍາຍພາສາ SQL ບວກໃສ່ກັບຄຸນລັກສະນະ ຈຳ ນວນຫລາຍ ສຳ ລັບເກັບຮັກສາແລະຈັດການຂໍ້ມູນທີ່ປອດໄພ.

ມັນມີປະສິດທິພາບ, ເຊື່ອຖືໄດ້, ແລະສາມາດປັບຂະ ໜາດ ໄດ້ ສຳ ລັບການຈັດການຂໍ້ມູນທີ່ມີປະລິມານຫຼາຍແລະສັບສົນແລະການຕັ້ງລະດັບສະພາບແວດລ້ອມຂອງວິສາຫະກິດແລະຄວາມຜິດພາດ, ໃນຂະນະທີ່ຮັບປະກັນຄວາມສົມບູນຂອງຂໍ້ມູນສູງ. Postgres ຍັງໄດ້ຮັບການຂະຫຍາຍສູງດ້ວຍຄຸນລັກສະນະຕ່າງໆເຊັ່ນ: ດັດສະນີມາພ້ອມກັບ APIs ເພື່ອໃຫ້ທ່ານສາມາດພັດທະນາວິທີແກ້ໄຂຂອງທ່ານເອງເພື່ອແກ້ໄຂສິ່ງທ້າທາຍໃນການເກັບຂໍ້ມູນຂອງທ່ານ.

ໃນບົດຂຽນນີ້, ພວກເຮົາຈະອະທິບາຍວິທີການຕິດຕັ້ງ PostgreSQL ໃນເຊີຟເວີ Ubuntu 18.04 (ຍັງເຮັດວຽກກ່ຽວກັບລຸ້ນ Ubuntu ເກົ່າ) ແລະຮຽນຮູ້ບາງວິທີພື້ນຖານໃນການ ນຳ ໃຊ້ມັນ.

ວິທີການຕິດຕັ້ງ PostgreSQL ໃນ Ubuntu

ທຳ ອິດ, ສ້າງແຟ້ມເອກະສານ /etc/apt/sources.list.d/pgdg.list ເຊິ່ງເກັບຄ່າການຕັ້ງຄ່າຂອງຫໍໄຕ, ຫຼັງຈາກນັ້ນ ນຳ ເຂົ້າກຸນແຈ ສຳ ຮອງໃສ່ລະບົບຂອງທ່ານ, ປັບປຸງລາຍຊື່ແພັກເກັດຂອງລະບົບຂອງທ່ານແລະຕິດຕັ້ງຊຸດ Postgres ໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

$ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
$ sudo apt install wget ca-certificates
$ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
$ sudo apt update
$ sudo apt install postgresql-10 pgadmin4 

ເມື່ອ postgres ໄດ້ຖືກຕິດຕັ້ງ, ບໍລິການຖານຂໍ້ມູນເລີ່ມຕົ້ນໂດຍອັດຕະໂນມັດແລະທ່ານສາມາດຢືນຢັນໄດ້ໂດຍການພິມ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

$ sudo systemctl status postgresql.service

ວິທີການໃຊ້ບົດບາດແລະຖານຂໍ້ມູນ PostgreSQL

ໃນ postgres, ການກວດສອບຄວາມຖືກຕ້ອງຂອງລູກຄ້າແມ່ນຖືກຄວບຄຸມໂດຍເອກະສານການຕັ້ງຄ່າ /etc/postgresql/10/main/pg_hba.conf. ວິທີການກວດສອບແບບເດີມແມ່ນ "ມິດສະຫາຍ" ສຳ ລັບຜູ້ເບິ່ງແຍງລະບົບຖານຂໍ້ມູນ, ໝາຍ ຄວາມວ່າມັນໄດ້ຮັບຊື່ຜູ້ໃຊ້ລະບົບປະຕິບັດການຂອງລູກຄ້າຈາກລະບົບປະຕິບັດການແລະກວດເບິ່ງວ່າມັນກົງກັບຊື່ຜູ້ໃຊ້ຖານຂໍ້ມູນທີ່ຮ້ອງຂໍເພື່ອອະນຸຍາດໃຫ້ເຂົ້າເຖິງ, ສຳ ລັບການເຊື່ອມຕໍ່ໃນທ້ອງຖິ່ນ (ດັ່ງທີ່ສະແດງຢູ່ໃນພາບ ໜ້າ ຈໍຕໍ່ໄປນີ້ ).

ໃນລະຫວ່າງຂັ້ນຕອນການຕິດຕັ້ງ, ບັນຊີຜູ້ໃຊ້ລະບົບທີ່ເອີ້ນວ່າ postgres ຖືກສ້າງຂື້ນໂດຍບໍ່ມີລະຫັດຜ່ານ, ນີ້ກໍ່ແມ່ນຊື່ຜູ້ໃຊ້ຖານຂໍ້ມູນທີ່ຕັ້ງໄວ້ໃນຕອນຕົ້ນ.

$ sudo vim /etc/postgresql/10/main/pg_hba.conf

ນອກຈາກນັ້ນ, ພາຍໃຕ້ການຄຸ້ມຄອງການອະນຸຍາດເຂົ້າເຖິງຖານຂໍ້ມູນ postgres ແມ່ນຖືກປະຕິບັດໂດຍຜ່ານພາລະບົດບາດ. ພາລະບົດບາດ ໜຶ່ງ ສາມາດຖືວ່າເປັນຜູ້ ນຳ ໃຊ້ຖານຂໍ້ມູນ, ຫຼືກຸ່ມຜູ້ ນຳ ໃຊ້ຖານຂໍ້ມູນ, ອີງຕາມການ ກຳ ນົດພາລະບົດບາດດັ່ງກ່າວ.

ພາລະບົດບາດໃນຕອນຕົ້ນແມ່ນຍັງ postgres. ສິ່ງ ສຳ ຄັນ, ບົດບາດຂອງຖານຂໍ້ມູນແມ່ນມີແນວຄິດເຊື່ອມໂຍງຢ່າງເຕັມສ່ວນກັບຜູ້ໃຊ້ລະບົບປະຕິບັດການ, ແຕ່ໃນທາງປະຕິບັດມັນອາດຈະບໍ່ແຍກຕ່າງຫາກ (ຕົວຢ່າງເມື່ອເວົ້າເຖິງການກວດສອບຄວາມຖືກຕ້ອງຂອງລູກຄ້າ).

ສິ່ງ ສຳ ຄັນ, ພາລະບົດບາດສາມາດເປັນເຈົ້າຂອງວັດຖຸຖານຂໍ້ມູນ, ແລະສາມາດມອບສິດພິເສດໃຫ້ແກ່ວັດຖຸເຫຼົ່ານັ້ນໄປສູ່ບົດບາດອື່ນເພື່ອຄວບຄຸມຜູ້ທີ່ເຂົ້າເຖິງວັດຖຸໃດ. ນອກຈາກນັ້ນ, ຍັງສາມາດໃຫ້ສະມາຊິກໃນພາລະບົດບາດກັບບົດບາດອື່ນ.

ເພື່ອ ກຳ ນົດພາລະບົດບາດອື່ນໃນການໃຊ້ລະຫັດຜ່ານທີ່ຖືກເຂົ້າລະຫັດເພື່ອຈັດການຖານຂໍ້ມູນທີ່ຖືກມອບ ໝາຍ ໃຫ້ພວກເຂົາ, ນອກ ເໜືອ ຈາກບົດບາດ postgres ໃນຕອນຕົ້ນ, ທ່ານ ຈຳ ເປັນຕ້ອງປ່ຽນສາຍ.

Then restart the postgresql service to apply the recent changes.
$ sudo systemctl restart postgresql

ວິທີໃຊ້ PostgreSQL ໃນ Ubuntu

ເມື່ອທຸກສິ່ງທຸກຢ່າງຕັ້ງຄ່າ, ທ່ານສາມາດເຂົ້າເຖິງບັນຊີລະບົບ postgres ດ້ວຍ ຄຳ ສັ່ງຕໍ່ໄປນີ້, ບ່ອນທີ່ທຸງ -i ບອກ sudo ໃຫ້ ດຳ ເນີນການແກະທີ່ລະບຸໄວ້ໂດຍການເຂົ້າຖານຂໍ້ມູນລະຫັດຜ່ານຂອງຜູ້ໃຊ້ເປົ້າ ໝາຍ ເປັນຫອຍເຂົ້າສູ່ລະບົບ.

$ sudo -i -u postgres 
$ psql		#to launch the postgres shell program  
postgres=#

ໃນການເຂົ້າເຖິງຫອຍ postgres ໂດຍກົງ, ໂດຍບໍ່ຕ້ອງເຂົ້າເຖິງບັນຊີຜູ້ໃຊ້ postgres ກ່ອນ, ໃຫ້ ດຳ ເນີນການ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

$ sudo -i -u postgres psql

ທ່ານສາມາດປະຖິ້ມ/ອອກຈາກ ຕຳ ແໜ່ງ ໂດຍການພິມ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

postgres=# \q

ສ້າງບົດບາດຜູ້ໃຊ້ ໃໝ່ ໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

postgres=# CREATE ROLE tecmint;

ເພື່ອສ້າງພາລະບົດບາດທີ່ມີຄຸນລັກສະນະ LOGIN, ໃຫ້ໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້ (ພາລະບົດບາດກັບຄຸນລັກສະນະ LOGIN ສາມາດຖືວ່າຄືກັນກັບຜູ້ໃຊ້ຖານຂໍ້ມູນ).

postgres=#CREATE ROLE tecmint LOGIN;
OR
postgres=#CREATE USER name;	#assumes login function by default

ບົດບາດຍັງສາມາດສ້າງດ້ວຍລະຫັດຜ່ານໄດ້, ນີ້ຈະເປັນປະໂຫຍດຖ້າທ່ານຕັ້ງຄ່າວິທີການກວດສອບລູກຄ້າເພື່ອຂໍໃຫ້ຜູ້ໃຊ້ສະ ໜອງ ລະຫັດຜ່ານທີ່ຖືກເຂົ້າລະຫັດເມື່ອເຊື່ອມຕໍ່ກັບຖານຂໍ້ມູນ.

postgres=#CREATE ROLE tecmint PASSWORD 'passwd_here'

ເພື່ອບອກລາຍລະອຽດກ່ຽວກັບບົດບາດຂອງຜູ້ໃຊ້ທີ່ມີຢູ່, ໃຊ້ ຄຳ ສັ່ງເຫຼົ່ານີ້.

postgres=# \du 				#shows actual users
OR
postgres=# SELECT rolname FROM pg_roles;

ໃນການປະຖິ້ມບົດບາດຂອງຜູ້ໃຊ້ທີ່ມີຢູ່ແລ້ວໃຫ້ໃຊ້ ຄຳ ສັ່ງ DROP ROLE ດັ່ງທີ່ສະແດງໄວ້.

postgres=# DROP ROLE tecmint;

ເມື່ອທ່ານສ້າງພາລະບົດບາດທີ່ມີຊື່ສະເພາະ (ຕົວຢ່າງຜູ້ໃຊ້ tecmint), ທ່ານສາມາດສ້າງຖານຂໍ້ມູນ (ມີຊື່ດຽວກັນກັບບົດບາດ) ເຊິ່ງຈະຖືກຈັດການໂດຍພາລະບົດບາດດັ່ງທີ່ສະແດງ.

postgres=# CREATE DATABASE tecmint;

ຕອນນີ້ເພື່ອຈັດການຖານຂໍ້ມູນ tecmint, ເຂົ້າໄປທີ່ postgres shell ເປັນພາລະບົດບາດຂອງ tecmint, ໃຫ້ລະຫັດລັບຂອງທ່ານດັ່ງຕໍ່ໄປນີ້.

$ sudo -i -u tecmint psql

ການສ້າງຕາຕະລາງແມ່ນງ່າຍຫຼາຍ, ພວກເຮົາຈະສ້າງຕາຕະລາງທົດສອບທີ່ເອີ້ນວ່າຜູ້ຂຽນ, ເຊິ່ງເກັບຂໍ້ມູນກ່ຽວກັບຜູ້ຂຽນ TecMint.com, ດັ່ງທີ່ສະແດງ.

tecmint=>CREATE TABLE authors (
    code      char(5) NOT NULL,
    name    varchar(40) NOT NULL,
    city varchar(40) NOT NULL
    joined_on date NOT NULL,	
    PRIMARY KEY (code)
);

ຫຼັງຈາກສ້າງຕາຕະລາງ, ພະຍາຍາມເກັບມັນດ້ວຍຂໍ້ມູນບາງຢ່າງ, ດັ່ງຕໍ່ໄປນີ້.

tecmint=> INSERT INTO authors VALUES(1,'Ravi Saive','Mumbai','2012-08-15');

ເພື່ອເບິ່ງຂໍ້ມູນທີ່ເກັບໄວ້ໃນຕາຕະລາງ, ທ່ານສາມາດເອີ້ນໃຊ້ ຄຳ ສັ່ງ SELECT.

tecmint=> SELECT * FROM authors;

ທ່ານສາມາດລາຍຊື່ຕາຕະລາງທັງ ໝົດ ໃນຖານຂໍ້ມູນປະຈຸບັນໂດຍມີ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

tecmint=>\dt

ເພື່ອລຶບຕາຕະລາງໃນຖານຂໍ້ມູນປະຈຸບັນ, ໃຫ້ໃຊ້ ຄຳ ສັ່ງ DROP.

tecmint=> DROP TABLE authors;

ເພື່ອບອກຖານຂໍ້ມູນທັງ ໝົດ, ໃຫ້ໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

tecmint=>SELECT datname FROM pg_database;
OR
tecmint=>\list	#shows a detailed description 
OR
tecmint=>\l

ຖ້າທ່ານຕ້ອງການລຶບຖານຂໍ້ມູນ, ໃຫ້ໃຊ້ ຄຳ ສັ່ງ DROP, ຍົກຕົວຢ່າງ.

tecmint=>DROP DATABASE tecmint;

ທ່ານຍັງສາມາດປ່ຽນຈາກຖານຂໍ້ມູນ ໜຶ່ງ ຫາຖານຂໍ້ມູນອື່ນໄດ້ງ່າຍໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

tecmint=>\connect database_name

ສຳ ລັບຂໍ້ມູນເພີ່ມເຕີມ, ເບິ່ງເອກະສານ PostgreSQL 10.4.

ນັ້ນແມ່ນ ສຳ ລັບດຽວນີ້! ໃນບົດຂຽນນີ້, ພວກເຮົາໄດ້ອະທິບາຍວິທີການຕິດຕັ້ງແລະ ນຳ ໃຊ້ລະບົບການຄຸ້ມຄອງຖານຂໍ້ມູນ PostgreSQL ໃນ Ubuntu 18.04. ທ່ານສາມາດສົ່ງ ຄຳ ຖາມຫລືຄວາມຄິດຂອງພວກເຮົາໃນ ຄຳ ເຫັນ.