ค้นหาเว็บไซต์

วิธีการติดตั้ง PostgreSQL ใน RHEL 8


PostgreSQL หรือที่รู้จักในชื่อ Postgres เป็นระบบจัดการฐานข้อมูลเชิงวัตถุเชิงสัมพันธ์แบบโอเพ่นซอร์สที่ทรงพลัง ซึ่งใช้และขยายภาษา SQL รวมกับคุณลักษณะมากมายที่เก็บและปรับขนาดได้อย่างปลอดภัย ปริมาณงานข้อมูลที่ซับซ้อนที่สุด

PostgreSQL มาพร้อมกับคุณสมบัติมากมายที่มีจุดมุ่งหมายเพื่อช่วยโปรแกรมเมอร์ในการพัฒนาแอปพลิเคชัน ผู้ดูแลระบบเพื่อปกป้องความสมบูรณ์ของข้อมูลและสร้างสภาพแวดล้อมที่ทนทานต่อข้อผิดพลาด และช่วยคุณจัดการข้อมูลไม่ว่าชุดข้อมูลจะใหญ่หรือเล็กก็ตาม

นอกจากจะฟรีและเป็นโอเพ่นซอร์สแล้ว PostgreSQL ยังสามารถขยายได้อย่างมากอีกด้วย ตัวอย่างเช่น คุณสามารถเพิ่มประเภทข้อมูลของคุณเอง พัฒนาฟังก์ชันที่กำหนดเอง หรือแม้แต่เขียนโค้ดจากภาษาการเขียนโปรแกรมต่างๆ โดยไม่ต้องคอมไพล์ฐานข้อมูลของคุณใหม่!

ความต้องการ:

  1. RHEL 8 พร้อมการติดตั้งขั้นต่ำ
  2. RHEL 8 พร้อมเปิดใช้งานการสมัครสมาชิก RedHat
  3. RHEL 8 พร้อมที่อยู่ IP แบบคงที่

ในบทความนี้ เราจะอธิบายวิธีการติดตั้ง รักษาความปลอดภัย และกำหนดค่าระบบการจัดการฐานข้อมูล PostgreSQL ในการกระจาย RHEL 8 Linux

การติดตั้งแพ็คเกจ PostgreSQL

1. PostgreSQL รวมอยู่ในที่เก็บเริ่มต้นของ RHEL 8 และสามารถติดตั้งได้โดยใช้คำสั่ง dnf ต่อไปนี้ ซึ่งจะติดตั้งเซิร์ฟเวอร์ PostgreSQL 10 ไลบรารีและไบนารีไคลเอ็นต์

dnf install @postgresql

หมายเหตุ: หากต้องการติดตั้งแพ็คเกจ PostgreSQL 11 บนระบบ RHEL 8 ของคุณ คุณจะต้องติดตั้ง พื้นที่เก็บข้อมูล PostgreSQL RPM ซึ่งมีแพ็กเกจต่างๆ มากมาย เช่น เซิร์ฟเวอร์ PostgreSQL ไบนารีของไคลเอ็นต์ และส่วนเสริมของบุคคลที่สาม

dnf install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
dnf update
dnf install postgresql11-server postgresql11  postgresql11-contrib

เริ่มต้นฐานข้อมูล PostgreSQL

2. เมื่อคุณติดตั้งแพ็คเกจ PostgreSQL แล้ว ขั้นตอนต่อไปคือการเริ่มต้นคลัสเตอร์ฐานข้อมูล PostgreSQL ใหม่โดยใช้ /usr/ ยูทิลิตี bin/postgresql-setup ดังต่อไปนี้

/usr/bin/postgresql-setup --initdb

3. ขณะนี้คลัสเตอร์ PostgreSQL ได้รับการเตรียมใช้งานแล้ว คุณต้องเริ่มบริการ PostgreSQL ในตอนนี้ จากนั้นเปิดใช้งานให้เริ่มอัตโนมัติเมื่อบูตระบบและตรวจสอบสถานะโดยใช้ คำสั่ง systemctl

systemctl start postgresql
systemctl enable postgresql
systemctl status postgresql

รักษาความปลอดภัยและกำหนดค่าฐานข้อมูล PostgreSQL

ในส่วนนี้ เราจะแสดงวิธีการรักษาความปลอดภัยบัญชีผู้ใช้ Postgres และบัญชีผู้ใช้ระดับผู้ดูแลระบบ จากนั้นเราจะกล่าวถึงวิธีกำหนดค่า PostgreSQL โดยเฉพาะวิธีตั้งค่าการตรวจสอบสิทธิ์ไคลเอ็นต์

4. สร้างรหัสผ่านสำหรับบัญชีผู้ใช้ระบบ postgres โดยใช้ยูทิลิตี้ passwd ดังต่อไปนี้

passwd postgres

5. จากนั้น เปลี่ยนไปใช้บัญชีผู้ใช้ระบบ postgres และรักษาความปลอดภัยบัญชีผู้ใช้ฐานข้อมูลการดูแลระบบ PostgreSQL โดยการสร้างรหัสผ่าน (อย่าลืมตั้งค่า รหัสผ่านที่รัดกุมและปลอดภัย)

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

6. ไฟล์การกำหนดค่า PostgreSQL ต่างๆ สามารถพบได้ในไดเร็กทอรี /var/lib/pgsql/data/ หากต้องการดูโครงสร้างไดเร็กทอรี คุณสามารถใช้คำสั่ง tree (ติดตั้งโดยใช้คำสั่ง dnf install tree)

tree -L 1 /var/lib/pgsql/data/

ไฟล์การกำหนดค่าเซิร์ฟเวอร์หลักคือ /var/lib/pgsql/data/postgresql.conf และการรับรองความถูกต้องไคลเอนต์สามารถกำหนดค่าได้โดยใช้ /var/lib/pgsql/data/pg_hba.conf

7. ต่อไป มาดูวิธีกำหนดค่าการตรวจสอบสิทธิ์ไคลเอ็นต์ ระบบฐานข้อมูล PostgreSQL รองรับการตรวจสอบความถูกต้องหลายประเภท รวมถึงการตรวจสอบความถูกต้องด้วยรหัสผ่าน ภายใต้การตรวจสอบสิทธิ์ด้วยรหัสผ่าน คุณสามารถใช้วิธีใดวิธีหนึ่งต่อไปนี้: md5, crypt หรือรหัสผ่าน (ส่งรหัสผ่านในรูปแบบข้อความธรรมดา)

แม้ว่าวิธีการตรวจสอบรหัสผ่านข้างต้นจะทำงานในลักษณะเดียวกัน แต่ความแตกต่างที่สำคัญระหว่างวิธีการเหล่านี้คือ: วิธีจัดเก็บรหัสผ่านของผู้ใช้ (บนเซิร์ฟเวอร์) และส่งผ่านการเชื่อมต่อเมื่อผู้ใช้ป้อน

เพื่อป้องกันการดักจับรหัสผ่านโดยผู้โจมตี และหลีกเลี่ยงการเก็บรหัสผ่านบนเซิร์ฟเวอร์เป็นข้อความธรรมดา ขอแนะนำให้ใช้ md5 ตามที่แสดง ตอนนี้เปิดไฟล์การกำหนดค่าการตรวจสอบสิทธิ์ไคลเอ็นต์

vi /var/lib/pgsql/data/pg_hba.conf

และมองหาบรรทัดต่อไปนี้และเปลี่ยนวิธีการตรวจสอบสิทธิ์เป็น md5

host    all             all             127.0.0.1/32            md5
host    all             all		::1/128                 md5

8. ตอนนี้รีสตาร์ทบริการ Postgres เพื่อใช้การเปลี่ยนแปลงล่าสุดในการกำหนดค่า

systemctl reload postgresql

9. ในขั้นตอนนี้ การติดตั้งเซิร์ฟเวอร์ฐานข้อมูล PostgreSQL ของคุณมีความปลอดภัยแล้ว คุณสามารถสลับไปใช้บัญชี postgres และเริ่มทำงานกับ PostgreSQL ได้

su - postgres
psql

คุณสามารถอ่านเอกสารอย่างเป็นทางการของ PostgreSQL ได้ (อย่าลืมเลือกเอกสารสำหรับเวอร์ชันที่คุณติดตั้ง) เพื่อทำความเข้าใจวิธีการทำงานของ PostgreSQL และวิธีใช้สำหรับการพัฒนาแอปพลิเคชัน

นั่นคือทั้งหมดที่สำหรับตอนนี้! ในคู่มือนี้ เราได้แสดงวิธีการติดตั้ง รักษาความปลอดภัย และกำหนดค่าระบบการจัดการฐานข้อมูล PostgreSQL ใน RHEL 8 โปรดจำไว้ว่าคุณสามารถส่งคำติชมถึงเราผ่านแบบฟอร์มคำติชมด้านล่าง