ວິທີການຕິດຕັ້ງຖານຂໍ້ມູນ PostgreSQL ໃນ Debian 10


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

ສິ່ງທີ່ ສຳ ຄັນ, PostgreSQL ຊ່ວຍໃຫ້ທ່ານສາມາດ ກຳ ນົດປະເພດຂໍ້ມູນຂອງທ່ານເອງ, ເພີ່ມ ໜ້າ ທີ່ຕາມໃຈ, ແມ່ນແຕ່ຂຽນລະຫັດຈາກພາສາການຂຽນໂປຼແກຼມທີ່ແຕກຕ່າງກັນເຊັ່ນ C/C ++, Java, ແລະອື່ນໆໂດຍບໍ່ຕ້ອງ ໝູນ ໃຊ້ຖານຂໍ້ມູນຂອງທ່ານ.

PostgreSQL ກຳ ລັງຖືກ ນຳ ໃຊ້ໂດຍບໍລິສັດເຕັກໂນໂລຢີທີ່ມີຊື່ສຽງເຊັ່ນ Apple, Fujitsu, Red Hat, Cisco, Juniper Network, ແລະອື່ນໆ.

ໃນບົດຂຽນນີ້, ພວກເຮົາຈະສະແດງວິທີການຕິດຕັ້ງ, ຄວາມປອດໄພແລະການຕັ້ງຄ່າເຊີບເວີຖານຂໍ້ມູນ PostgreSQL ໃນ Debian 10.

<

  • ຕິດຕັ້ງ Debian 10 (Buster) Server Minimal Server
  • ການຕິດຕັ້ງ PostgreSQL Server ໃນ Debian 10

    ການຕິດຕັ້ງເຊີບເວີຖານຂໍ້ມູນ PostgreSQL, ໃຊ້ໂປແກຼມຈັດການຊຸດແພັກເກດ APT, ເຊິ່ງຈະຕິດຕັ້ງເຄື່ອງແມ່ຂ່າຍແລະລູກຄ້າຂອງ PostgreSQL 11.

    # apt install postgresql-11 postgresql-client-11
    

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

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

    # pg_isready 
    

    ນອກຈາກ, ພາຍໃຕ້ລະບົບ, ລະບົບບໍລິການ Postgres ກໍ່ເລີ່ມຕົ້ນໂດຍອັດຕະໂນມັດແລະສາມາດເລີ່ມຕົ້ນໄດ້ໃນລະບົບ boot system. ເພື່ອໃຫ້ແນ່ໃຈວ່າການບໍລິການຂຶ້ນແລະເຮັດວຽກໄດ້ດີ, ໃຫ້ເຮັດຕາມ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

    # systemctl status postgresql
    

    ຕໍ່ໄປນີ້ແມ່ນ ຄຳ ສັ່ງ systemctl ທີ່ມີປະໂຫຍດອື່ນໆໃນການຈັດການບໍລິການ Postgres ພາຍໃຕ້ລະບົບ.

    # systemctl start postgresql
    # systemctl restart postgresql
    # systemctl stop postgresql
    # systemctl reload postgresql 		#this reloads the service configuration
    

    ຄວາມປອດໄພແລະການຕັ້ງຄ່າຖານຂໍ້ມູນ PostgreSQL

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

    ລະບົບເລີ່ມຕົ້ນ ໃໝ່ໆ ສະ ເໝີ ມີບົດບາດ ໜຶ່ງ ທີ່ໄດ້ ກຳ ນົດໄວ້ກ່ອນເອີ້ນວ່າ postgres, ມັນມີຊື່ດຽວກັນກັບບັນຊີຜູ້ໃຊ້ລະບົບປະຕິບັດການທີ່ເອີ້ນວ່າ postgres, ເຊິ່ງໃຊ້ໃນການເຂົ້າເຖິງ psql (Postgres shell) ແລະໂປແກຼມຖານຂໍ້ມູນອື່ນໆ.

    ບັນຊີຜູ້ໃຊ້ລະບົບຂອງ Postgres ບໍ່ໄດ້ຮັບການປົກປ້ອງໂດຍໃຊ້ລະຫັດຜ່ານ, ເພື່ອຮັບປະກັນມັນ, ທ່ານສາມາດສ້າງລະຫັດຜ່ານໂດຍໃຊ້ລະຫັດ passwd.

    # passwd postgres
    

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

    # su - postgres
    # psql -c "ALTER USER postgres WITH PASSWORD 'securepass_here';"
    

    ຫຼັງຈາກນັ້ນ, ອອກຈາກບັນຊີ postgres ເພື່ອ ດຳ ເນີນການກັບ ຄຳ ແນະ ນຳ.

    ການຕັ້ງຄ່າການກວດສອບຄວາມຖືກຕ້ອງຂອງລູກຄ້າ

    ເອກະສານການຕັ້ງຄ່າຂອງ Postgres ຕົ້ນຕໍແມ່ນຕັ້ງຢູ່ /etc/postgresql/11/main/postgresql.conf. ນອກເຫນືອໄປຈາກເອກະສານນີ້, Postgres ໃຊ້ອີກສອງໄຟລ໌ການຕັ້ງຄ່າທີ່ແກ້ໄຂດ້ວຍຕົນເອງ, ເຊິ່ງຄວບຄຸມການກວດສອບຄວາມຖືກຕ້ອງຂອງລູກຄ້າ.

    ການກວດສອບຄວາມຖືກຕ້ອງຂອງລູກຄ້າແມ່ນຖືກຄວບຄຸມໂດຍເອກະສານການຕັ້ງຄ່າ /etc/postgresql/11/main/pg_hba.conf. Postgres ສະ ໜອງ ຫຼາຍວິທີການກວດສອບຄວາມຖືກຕ້ອງຂອງລູກຄ້າລວມທັງການກວດສອບລະຫັດຜ່ານ. ການເຊື່ອມຕໍ່ຂອງລູກຄ້າແມ່ນຖືກກວດສອບໂດຍອີງໃສ່ທີ່ຢູ່ຂອງເຈົ້າພາບຂອງລູກຄ້າ, ຖານຂໍ້ມູນແລະຜູ້ໃຊ້.

    ຖ້າທ່ານເລືອກທີ່ຈະໃຊ້ການກວດສອບລະຫັດຜ່ານ, ທ່ານສາມາດປະຕິບັດ ໜຶ່ງ ໃນວິທີການເຫຼົ່ານີ້: md5 ຫຼືລະຫັດຜ່ານທີ່ປະຕິບັດງານຄ້າຍຄືກັນຍົກເວັ້ນວິທີການທີ່ລະຫັດຜ່ານຖືກສົ່ງຜ່ານການເຊື່ອມຕໍ່, ຄື MD5-hashed ແລະ clear-text ຕາມ ລຳ ດັບ.

    ການໃຊ້ລະຫັດລັບ md5 averts password sniffing ໂດຍແຮກເກີແລະຫລີກລ້ຽງການເກັບຮັກສາລະຫັດຜ່ານໃນເຊີຟເວີໃນຂໍ້ຄວາມ ທຳ ມະດາ. ວິທີການລະຫັດຜ່ານສາມາດໃຊ້ໄດ້ຢ່າງປອດໄພຖ້າການເຊື່ອມຕໍ່ຖືກປ້ອງກັນໂດຍການເຂົ້າລະຫັດ SSL.

    ສຳ ລັບ ຄຳ ແນະ ນຳ ນີ້, ພວກເຮົາຈະສະແດງວິທີການ ກຳ ຫນົດຄ່າລະຫັດຜ່ານ md5 ເພື່ອການກວດສອບຄວາມຖືກຕ້ອງຂອງລູກຄ້າ.

    # vim /etc/postgresql/11/main/pg_hba.conf 
    

    ຊອກຫາເສັ້ນຕໍ່ໄປນີ້ແລະປ່ຽນວິທີການກວດສອບເພື່ອ md5 ທີ່ຢູ່ໃນ ໜ້າ ຈໍ.

    local   all             all                                     md5
    

    ບັນທຶກການປ່ຽນແປງຂອງເອກະສານແລະອອກຈາກມັນ. ຫຼັງຈາກນັ້ນ, ນຳ ໃຊ້ການປ່ຽນແປງທີ່ຜ່ານມາໂດຍການເລີ່ມຕົ້ນບໍລິການ Postgres ດັ່ງຕໍ່ໄປນີ້.

    # systemctl restart postgresql
    

    ການສ້າງຖານຂໍ້ມູນແລະພາລະບົດບາດຖານຂໍ້ມູນ / ຜູ້ໃຊ້ ໃໝ່ ໃນ PostgreSQL

    ໃນພາກສຸດທ້າຍນີ້, ພວກເຮົາຈະສະແດງວິທີການສ້າງຜູ້ໃຊ້ຖານຂໍ້ມູນ ໃໝ່ ແລະບົດບາດຖານຂໍ້ມູນໃນການຈັດການມັນ. ກ່ອນອື່ນ ໝົດ, ປ່ຽນໄປທີ່ບັນຊີ postgres ແລະເປີດ Postgres shell ດັ່ງຕໍ່ໄປນີ້.

    # su - postgres
    $ psql
    

    ເພື່ອສ້າງຖານຂໍ້ມູນທີ່ມີຊື່ວ່າ“ test_db” ດຳ ເນີນການ ຄຳ ສັ່ງ SQL ຕໍ່ໄປນີ້.

    postgres=# CREATE DATABASE test_db;
    

    ຈາກນັ້ນສ້າງຜູ້ໃຊ້ຖານຂໍ້ມູນ (ບົດບາດກັບສິດເຂົ້າລະບົບ) ຜູ້ທີ່ຈະຈັດການຖານຂໍ້ມູນ ໃໝ່ ດັ່ງຕໍ່ໄປນີ້.

    postgres=#CREATE USER test_user PASSWORD ‘[email _here’;     #assumes login function by default
    

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

     
    $ psql -d  test_db  -U test_user
    

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

    ຖ້າວ່າດຽວນີ້ ສຳ ລັບ! ໃນຄູ່ມືນີ້, ພວກເຮົາໄດ້ສະແດງວິທີການຕິດຕັ້ງ, ຄວາມປອດໄພແລະ ກຳ ຫນົດຄ່າ server ຂອງຖານຂໍ້ມູນ PostgreSQL ໃນ Debian 10. ທ່ານມີ ຄຳ ຖາມຫຼືຄວາມຄິດໃດທີ່ຈະແບ່ງປັນ? ໃຊ້ແບບຟອມ ຄຳ ເຫັນຂ້າງລຸ່ມເພື່ອເຂົ້າຫາພວກເຮົາ.