1. แนะนำเบื้องต้น

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

年収訴求

2. ข้อกำหนดเบื้องต้นและการเตรียมตัว

ก่อนอื่น ให้ตรวจสอบว่า Ubuntu ที่ใช้อยู่เป็นเวอร์ชัน 20.04 หรือ 22.04 ก่อนติดตั้ง PostgreSQL ควรอัปเดตรายการแพ็กเกจให้เป็นเวอร์ชันล่าสุด

sudo apt update

เพื่อให้ขั้นตอนการติดตั้งในภายหลังดำเนินไปอย่างราบรื่น

3. ขั้นตอนการติดตั้ง PostgreSQL

3.1 เพิ่ม Repository ของ PostgreSQL

เนื่องจาก Repository มาตรฐานของ Ubuntu อาจไม่มี PostgreSQL เวอร์ชันล่าสุด จึงควรเพิ่ม Repository อย่างเป็นทางการ เพื่อให้สามารถติดตั้งเวอร์ชันใหม่ล่าสุดได้

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 wget -qO- https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo tee /etc/apt/trusted.gpg.d/pgdg.asc

3.2 ติดตั้ง PostgreSQL

หลังจากเพิ่ม Repository แล้ว ให้ใช้คำสั่งด้านล่างเพื่อติดตั้ง PostgreSQL และเครื่องมือเสริม

sudo apt update
sudo apt install postgresql postgresql-contrib

3.3 ตรวจสอบการติดตั้ง

หลังติดตั้งแล้ว ใช้คำสั่งนี้เพื่อตรวจสอบเวอร์ชันของ PostgreSQL และยืนยันว่าติดตั้งสำเร็จ

postgres --version

 

4. การตั้งค่าเริ่มต้น

4.1 การตั้งค่าผู้ใช้ PostgreSQL

เมื่อทำการติดตั้ง PostgreSQL ระบบจะสร้างผู้ใช้ชื่อ “postgres” ขึ้นมา ใช้คำสั่งด้านล่างเพื่อสลับไปยังผู้ใช้ postgres และดำเนินการกับฐานข้อมูล

sudo -i -u postgres

4.2 แก้ไขการเชื่อมต่อภายในเครื่อง

ให้แก้ไขไฟล์ “pg_hba.conf” เพื่อกำหนดรูปแบบการยืนยันตัวตน โดยปกติอนุญาตเฉพาะการเชื่อมต่อภายในเครื่อง หากต้องการให้เชื่อมต่อจากระยะไกลได้ ให้แก้ไขไฟล์นี้

sudo nano /etc/postgresql/14/main/pg_hba.conf

เช่น สามารถตั้งค่าให้ใช้การยืนยันตัวตนแบบ “md5” เพื่อเพิ่มความปลอดภัย

local   all             postgres                                md5
host    all             all             127.0.0.1/32            md5

หลังจากแก้ไขแล้ว ให้รีสตาร์ทบริการ PostgreSQL เพื่อให้การตั้งค่ามีผล

sudo systemctl restart postgresql

5. ตรวจสอบการทำงานเบื้องต้น

5.1 การเริ่มและหยุด PostgreSQL

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

sudo systemctl status postgresql
sudo systemctl start postgresql
sudo systemctl stop postgresql

5.2 ตรวจสอบฐานข้อมูล

ใช้คำสั่ง “psql” เพื่อต่อกับ PostgreSQL และแสดงรายการฐานข้อมูลทั้งหมด

sudo -u postgres psql

จากนั้น พิมพ์ “l” ที่พรอมต์คำสั่ง จะแสดงรายการฐานข้อมูลที่มีอยู่

6. การติดตั้งและตั้งค่า pgAdmin (ตัวเลือกเสริม)

สำหรับการบริหารจัดการ PostgreSQL สามารถใช้เครื่องมือ GUI อย่าง pgAdmin ได้ ติดตั้งด้วยคำสั่งด้านล่าง และใช้งานผ่านเว็บเบราว์เซอร์ได้อย่างสะดวก

sudo apt install pgadmin4

หลังติดตั้งแล้ว ให้เปิดเบราว์เซอร์ไปที่ “http://localhost/pgadmin” เพื่อเริ่มใช้งาน

7. การแก้ไขปัญหาและวิธีรับมือข้อผิดพลาดที่พบบ่อย

7.1 ข้อผิดพลาดขณะติดตั้งหรือ repository

หากพบ “ข้อผิดพลาดเกี่ยวกับการพึ่งพาแพ็กเกจ” หรือ “ข้อผิดพลาด repository” ระหว่างติดตั้ง ให้ตรวจสอบว่า URL repository ถูกต้อง และอัปเดตรายการแพ็กเกจใหม่

sudo apt update

7.2 การแก้ปัญหาเชื่อมต่อไม่ได้

หากเชื่อมต่อ PostgreSQL ไม่ได้หรือเจอข้อความว่า “ไม่ผ่านการยืนยันรหัสผ่าน” ให้ตรวจสอบไฟล์ “pg_hba.conf” และรหัสผ่าน รวมถึงลองรีสตาร์ทบริการใหม่

sudo systemctl restart postgresql

7.3 แก้ไขปัญหาเครือข่าย

ถ้าเชื่อมต่อจากภายนอกไม่ได้ อาจเป็นเพราะตั้งค่า “listen_addresses” ในไฟล์ postgresql.conf เป็น “localhost” อยู่ ให้เปลี่ยนการตั้งค่าเพื่ออนุญาตการเชื่อมต่อจากภายนอก

sudo nano /etc/postgresql/14/main/postgresql.conf

ตั้งค่าเป็นดังนี้ เพื่ออนุญาตการเชื่อมต่อจากเครือข่าย

listen_addresses = '*'

หลังจากนั้น ให้รีสตาร์ทบริการ PostgreSQL เพื่อให้การเปลี่ยนแปลงมีผล

sudo systemctl restart postgresql

 

8. สรุป

บทความนี้ได้อธิบายขั้นตอนการติดตั้ง PostgreSQL บน Ubuntu ตั้งแต่การตั้งค่าเริ่มต้น การตรวจสอบการทำงาน ไปจนถึงการใช้ pgAdmin และวิธีแก้ปัญหาที่พบบ่อย เพื่อให้มือใหม่สามารถติดตั้งและตั้งค่าระบบได้อย่างราบรื่น

MySQL & MariaDBの世界

MySQLとPostgreSQLの違いを解説。性能、拡張性、ユースケースの観点から、プロジェクトに最適なデータベースを選…

年収訴求