การติดตั้ง 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. ให้บริการเขียนซอฟต์แวร์ ติดตั้ง รับเป็นที่ปรึกษา รวมถึงระบบสำรองข้อมูล ด้วยประสบการณ์ยาวนานนับสิบปี

Multimaster Synchronization และ Change Data Capture

ก่อนที่จะไปเรียนรู้ว่า Edge Computing นั้นจะมีประโยชน์กับท่านและองค์กรของท่านอย่างไรนั้น เราจะไปดูว่าปัจจุบันนี้ หรือยุคก่อน Edge Computing นั้น การเชื่อมต่อ...

Read more »

Migrate VM ข้าม Cluster ด้วย Proxmox Datacenter Manager 1.0.0

Proxmox Datacenter Manager (PDM) คือเครื่องมือบริหารจัดการ Proxmox VE หลาย Cluster จากศูนย์กลางเดียว...

Read more »

อะไรคือ Line MyShop และ LineShopping

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

Read more »

ทำความรู้จักกับ Open vSwitch

วันนี้เราจะพาท่านไปทำความรู้จักกับ Open vSwitch หนึ่งในโปรเจ็กต์ซอฟต์แวร์ ที่เป็นองค์ประกอบหรือว่า จิ๊กซอว์สำคัญในการทำ Software Defined Networking (SDN)...

Read more »

Ruijie Virtual Switching Unit VSU

Virtual Switching Unit หรือ VSU เป็นเทคโนโลยีที่ทำให้เราสามารถรวม switch ตั้งแต่ 2 ตัวขึ้นไป...

Read more »

Big Improvements in FreeBSD 15.0

FreeBSD มีต้นกำเนิดมาจาก ระบบปฏิบัติการ UNIX ของมหาวิทยาลัย UC Berkeley โดยเ BSD ก็ย่อมาจาก...

Read more »