การติดตั้ง PostgreSQL บน Ubuntu Linux 22.04

Published on February 27, 2023
การติดตั้ง PostgreSQL บน Ubuntu Linux 22.04

การติดตั้ง PostgreSQL บน Ubuntu Linux 22.04

 

PostgreSQL นั้นเป็น opensource database (DBMS) ที่ใช้ภาษี SQL หรือชื่อเต็ม ๆ ก็คือ structured Query Language ในการจัดการเก็บและเข้าถึงข้อมูล นอกจากนั้นแล้วด้วยความที่มันเป็น object relational database ด้วย ทำให้ PostgreSQL สนับสนุนการใช้งาน complex data types และมีคุณสมบัติชั้นสูงที่ซับซ้อน เช่น การเก็บ object inheritance และการสนับสนุน JSON query ซึ่งคุณสมบัติชั้นสูงที่กล่าวไป ก็เพียงพอที่จะทำให้ PostgreSQL นั้นได้รับการงานอย่างกว้างขวางในองค์กรขนาดใหญ่เพิ่มขึ้นเรื่อยๆ

นอกจากนั้นตัวมันยังสามารถนำไปติดตั้งบนระบบปฏิบัติการหลายตัว ทั้ง Windows, Linux, MacOS และภาษาที่เชื่อมต่อนั้น ก็มี library สำหรับหลายภาษาการโปรแกรมเช่น Java, Python, Perl, Ruby, Go, C, C# และอีกมาก

PostgreSQL นั้นมีการพัฒนามาต่อเนื่องกว่า 20 ปี ซึ่งในช่วงแรกแน่นอนว่า จะถูกนำไปใช้ในการเก็บข้อมูลบน web, mobile, analytical และ geospatial หรือแอฟที่เกี่ยวกับภูมิศาตร์ และ การนำทาง (GIS) ซึ่ง PostgreSQL นั้นมี extension ที่เรียกว่า PostGIS ที่ช่วยให้การประมวลผลตำแหน่งทางภูมิศาสตร์ มีประสิทธิภาพมากขึ้นพร้อมทั้งลดการทำงานของ CPU & RAM ลงได้

ก็เรียกได้ว่าเป็น DBMS ที่น่าสนใจมาก ๆ ตัวหนึ่งเลยทีเดียว งั้นเราก็มาทดสอบการติดตั้งบน Ubuntu 22.04 กันเลย

1. Update system

สำหรับการอัพเดท package list นั้นทำได้ง่ายๆ ด้วยคำสั่ง

 

sudo apt update

 

2. ทำการติดตั้ง PostgreSQL โดยการใช้คำสั่ง

sudo apt install postgresql postgresql-contrib -y

 

install postgresql

รูปที่ 1 แสดงการพิมพ์คำสั่งเพื่อติดตั้ง postgresql

ทั้งนี้ท่านสามารถทำการเช็คว่า postgresql ที่ติดตั้งไปนั้นเป็น version อะไรโดยการพิมพ์คำสั่ง

psql -V

install postgresql
รูปที่ 2 แสดงผลลัพธ์ของการพิมพ์คำสั่ง psql -V ที่แสดงว่า version ของ PostgreSQL คือ 14.6 บนระบบปฏิบัติการ Ubuntu 22.04.1

3. เช็คสถานะของ PostgreSQL ว่าทำงานรันอยู่หรือไม่

sudo systemctl status postgresql

install postgresql

รูปที่ 3 แสดงผลลัพธ์ของการเช็คว่า service postgresql ทำงานอยู่หรือไม่ ซึ่งคำว่า active สีเขียวแสดงว่าทำงานอยู่

หรือเพื่อความชัวร์อีกครั้งหนึ่ง เราสามารถเช็คได้ว่า postgresql นั้นทำการ listening tcp หรือว่ารอการเชื่อมต่อ ถูกต้องหรือไม่ โดย postgresql นั้นทำงานที่ port 5432 ซึ่งเราสามารถเช็คได้โดยการพิมพ์คำสั่ง

 

ss -pnltue | grep 5432

install postgresql

รูปที่ 4 แสดงการทำงานของ postgresql ที่ port 5432 ถูกต้อง และกำลัง listening อยู่เพื่อรอการเชื่อมต่อ

4. การเชื่อมต่อไปหา PostgreSQL shell ซึ่ง การเข้าถึง postgresql shell นั้นท่านจะต้องทำการ เปลี่ยน ชื่อผู้ใช้งานปัจจุบันเป็น user ที่ชื่อว่า postgres เสียก่อน ซึ่ง user postgres นี้ถูกสร้างขึ้นในระบบอัตโนมัติตอนที่ท่านทำการติดตั้ง postgresql นั่นเอง ขั้นแรกเลยเราจะต้องทำการเปลี่ยน หรือ สวมสิทธิ์ผู้ใช้งานปัจจุบันไปเป็น postgres เสียก่อนโดยการพิมพ์คำสั่ง

 

sudo su – postgres

หลังจากนั้นก็พิมพ์คำสั่ง

psql

install postgresql

รูปที่ 5 แสดงการเข้าถึง postgresql shell ซึ่งท่านจะเห็นว่า cursor ของระบบนั้นเปลี่ยนไปแล้ว เป็น postgres=#

 

คราวนี้ท่านสามารถทำการทดลอง list database ที่มีอยู่ในระบบทั้งหมดขึ้นมาดู โดยทั้งนี้ PostgreSQL นั้นจะมี database ติดตั้ง มาให้โดยอัตโนมัติ 3 ตัว คือ postgres , template0, template1 ซึ่งคำสั่งที่ท่านต้องการพิมพ์คือ

\l

install postgresql
รูปที่ 6 แสดง database ทั้งหมด

5. การสร้าง database และ ชื่อผู้ใช้งาน
สำหรับการสร้าง database การสร้าง user และ การให้สิทธิ์ในการใช้งาน database กับ user ที่เราต้องการนั้น จะมีความคล้ายกับ DBMS ตัวอื่นๆ ในท้องตลาด โดยขอพิมพ์ คำสั่งทั้งหมดพร้อมกันดังนี้

CREATE DATABASE mydb1;
CREATE USER sara WITH ENCRYPTED PASSWORD ‘mynewpassword’;
GRANT ALL PRIVILEGES ON DATABASE mydb1 TO sara

จากตัวอย่าง เราจะเห็นได้ว่า บรรทัดแรกคือการสร้าง database ที่ชื่อ mydb1 หลังจากนั้นสร้างชื่อผู้ใช้งานในระบบที่ชื่อ sara และ รหัสของ sara คือ mynewpassword และบรรทัดสุดท้ายคือการให้สิทธิ์กับ sara เข้าถึง mydb1

6. การอนุญาติให้มีการเชื่อมต่อจากภายนอก
สำหรับค่าปริยายที่เราได้ติดตั้ง PostgreSQL นั้น จะเป็นการรับการเชื่อมต่อภายใน host เดียวกันเท่านั้น หรือ เราอาจจะเรียกอีกอย่างหนึ่งว่า binding localhost only ซึ่งในความจริง หรือการใช้งานจริงนั้น เราจะต้องอนุญาตให้มีการเชื่อมต่อจาก client จากเครื่องอื่นๆ ด้วย นั่นหมายถึงเราจะต้องทำการ แก้ไขไฟล์ configuration นิดหน่อย เพื่อแก้การ binding บน interface อื่นๆ นอกเหนือจาก localhost (127.0.0.1) เราทำได้โดยการพิมพ์คำสั่ง

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

หลังจากนั้นมองหาคำว่า listen_addresses และแก้จาก 127.0.0.1 เป็น * และทำการเอาเครื่องหมายสี่เหลี่ยมด้านหน้าออก

install postgresql

รูปที่ 7 การแก้ binding ให้รับการเชื่อมต่อจากทุก interface ในเครื่อง

หลังจากนั้น ท่านก็ทำการพิมพ์คำสั่ง

sudo systemctl restart postgresql

 

ก็เป็นอันเสร็จสิ้น สำหรับการติดตั้ง PostgreSQL บน Ubuntu 22.04

แล้วพบกับ บทความใหม่ๆ จาก AVESTA ได้ในอนาคต

AVESTA CO., LTD. ให้บริการเขียนซอฟต์แวร์ ติดตั้ง รับเป็นที่ปรึกษา รวมถึงระบบสำรองข้อมูล ด้วยประสบการณ์ยาวนานนับสิบปี

Creating Proxmox VE Cluster

สำหรับ Proxmox VE นั้นแน่นอนว่าสนับสนุนการทำ Clustering ในตัวอยู่แล้วเพื่อทำให้ระบบมี การจัดการทรัพยากรของเซิร์ฟเวอร์หลายเครื่องได้อย่างมีประสิทธิภาพ และเพิ่มความสามารถในการสำรองข้อมูล, การย้ายเครื่องเสมือน (VM)...

Read more »

Updating ML30 Gen10 Firmware with ILOREST

แน่นอนว่าการอัพเดท firmware ของทั้ง BIOS และอุปกรณ์ที่เกี่ยวข้องทั้งหมดใน Server นั้นเป็นสิ่งจำเป็นอย่างยิ่ง เพราะว่า เพื่อความปลอดภัย และ...

Read more »

Switches เดสก์ท็อปสวิตช์ 10/100Mbps 10 ช่อง

แนะนำอุปกรณ์ใหม่ มาแรง ใช้งานง่าย! Switches อุปกรณ์ต่อพ่วง Network Computer เดสก์ท็อปสวิตช์ 10/100Mbps 10...

Read more »

how to apply license key on a Proxmox VE host

สำหรับวันนี้ เราจะมาสอนเรื่องการ Activate License Key สำหรับ Proxmox VE กัน ซึ่งแน่นอนว่า...

Read more »

configuring multiple VLANs in Proxmox VE

การกำหนด VLAN หลายตัว (Multiple VLAN) ใน Proxmox VE สำหรับการกำหนด VLAN...

Read more »

Verifying Files with MD5 Checksum

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

Read more »