Installing PostgreSQL v17 on Ubuntu 24.04

Published on January 11, 2025
Installing PostgreSQL v17 on Ubuntu 24.04

PostgreSQL นั้นเป็น Opensource database ที่โดดเด่นที่สุดในปัจจุบัน ด้วยการพัฒนาที่ยาวนาน และ การได้รับการยอมรับอย่างกว้างขวาง วันนี้เราจะพาไปดูฟีเจอร์ใหม่ๆ พร้อมการติดตั้ง

การปรับปรุงประสิทธิภาพระบบ:

  • การจัดการหน่วยความจำของ VACUUM: มีการปรับปรุงโครงสร้างหน่วยความจำภายในของกระบวนการ VACUUM ทำให้ใช้หน่วยความจำน้อยลงถึง 20 เท่า ส่งผลให้กระบวนการทำงานเร็วขึ้นและลดการใช้ทรัพยากรร่วม
  • การปรับปรุงการประมวลผล WAL: สำหรับงานที่มีการทำงานพร้อมกันสูง (high concurrency) ประสิทธิภาพการเขียนข้อมูลดีขึ้นถึง 2 เท่า
  • อินเทอร์เฟซการสตรีม I/O ใหม่: ช่วยเพิ่มความเร็วในการสแกนข้อมูลแบบ sequential และการอัปเดตสถิติของ ANALYZE

ฟีเจอร์สำหรับนักพัฒนา:

  • การสนับสนุน SQL/JSON: เพิ่มคำสั่ง JSON_TABLE ที่ช่วยแปลงข้อมูล JSON เป็นตาราง PostgreSQL และรองรับฟังก์ชัน SQL/JSON อื่น ๆ เช่น JSON_EXISTS, JSON_QUERY, และ JSON_VALUE
  • การปรับปรุงคำสั่ง MERGE: เพิ่มความสามารถในการใช้ RETURNING และการอัปเดตวิว (views)
  • การเพิ่มประสิทธิภาพของคำสั่ง COPY: ความเร็วในการส่งออกข้อมูลเพิ่มขึ้นถึง 2 เท่า โดยเฉพาะเมื่อส่งออกแถวข้อมูลขนาดใหญ่ และมีตัวเลือก ON_ERROR ที่ช่วยให้การนำเข้าข้อมูลต่อเนื่องแม้เกิดข้อผิดพลาด

การปรับปรุงการจำลองข้อมูล (Logical Replication):

  • การอัปเกรดเวอร์ชันหลัก: สามารถเก็บรักษา logical replication slots ระหว่างการอัปเกรดเวอร์ชันหลักได้ ทำให้กระบวนการอัปเกรดง่ายขึ้น
  • การควบคุมการทำงานในกรณีเกิดความล้มเหลว: เพิ่มความยืดหยุ่นในการทำงานในสภาพแวดล้อมที่ต้องการความพร้อมใช้งานสูง
  • เครื่องมือ pg_createsubscriber: ช่วยแปลง physical replica เป็น logical replica ได้อย่างง่ายดาย

การจัดการความปลอดภัยและการดำเนินงาน:

  • การสำรองข้อมูลแบบเพิ่มพูน (Incremental Backups): เครื่องมือ pg_basebackup รองรับการสำรองข้อมูลแบบเพิ่มพูน และมีเครื่องมือ pg_combinebackup สำหรับการรวมข้อมูลสำรอง
  • การปรับปรุงคำสั่ง pg_dump: มีตัวเลือก –filter ที่ช่วยเลือกวัตถุที่จะรวมในการสำรองข้อมูล
  • การปรับปรุงการตรวจสอบและวิเคราะห์: คำสั่ง EXPLAIN แสดงเวลาที่ใช้ในการอ่านและเขียนบล็อก I/O และมีตัวเลือกใหม่ SERIALIZE และ MEMORY ที่ช่วยในการวิเคราะห์การใช้หน่วยความจำ

สำหรับการติดตั้ง ทำตามขั้นตอนดังนี้

ติดตั้งโปรแกรมที่จำเป็นพร้อมกับดาวน์โหลด public key

sudo apt install curl ca-certificates
sudo install -d /usr/share/postgresql-common/pgdg
sudo curl -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc

สร้าง repository file

sudo sh -c 'echo "deb [arch=amd64 signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc] https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

ทำการอัพเดท pkg

sudo apt update

ทำการติดตั้ง postgresql v17

sudo apt -y install postgresql-17

ตรวจสอบว่า postgresql ทำงานอยู่

sudo systemctl status postgresql

เช็คว่าเราใช้ version อะไรกันแน่

psql --version

เปลี่ยนรหัสสำหรับ admin ซึ่งจะเป็น username ที่ชื่อว่า postgres

sudo -u postgres psql

และตามด้วย

postgres=# ALTER USER postgres PASSWORD 'hello1234!';

และออกจาก psql terminal ด้วยคำสั่ง

\q

สำหรับ video การติดตั้งชมได้ที่ https://www.youtube.com/watch?v=ZKqwBzJB3uw

 

 

Understanding UUID

UUID นั้นต้องเรียกได้ว่ามีข้อถกเถียงกันมานานมา ในการใช้ในการเขียนโปรแกรมและการออกแบบดาต้าเบส วันนี้เราจะไปศึกษาว่ามันคืออะไร และ ในการออกแบบฐานข้อมูลมันเข้ามามีบทบาทอย่างไร UUID คืออะไร UUID ย่อมาจาก...

Read more »

วันสิ้นสุด License Perpetual ของ VMware มาถึงแล้ว รีบย้ายไป Proxmox VE กันเถอะ

ตอนที่ VMware ประกาศว่าจะออก ESXi 9 มานั้น ทุกคนในวงการก็คิดว่า มันน่าจะมาพร้อมการอัพเดทบางส่วนเหมือนทุกๆ ครั้งที่ผ่านมาเช่น การเพิ่มการสนับสนุนฮาร์ดแวร์...

Read more »

Garage ทางเลือกในการแทนที่ MinIO

MinIO นั้นเป็นซอฟต์แวร์ที่จะทำให้เราสามารถเก็บข้อมูลในลักษณะที่เป็น Object ได้ และ เรียกว่าเป็นตัวเลือกที่มีอยู่ไม่มากนักในท้องตลาดหากท่านต้องการจะสร้าง Object Storage Server เพื่อใช้ภายในองค์กร...

Read more »

Time Range Booking System

Time Range Booking คืออะไร และทำไมธุรกิจยุคใหม่จำเป็นต้องใช้ ในยุคที่ลูกค้าคาดหวัง ความรวดเร็วและความแม่นยำ มากขึ้น ระบบจองแบบเดิมที่เลือกแค่วันที่หรือรอบเวลา (slot...

Read more »

เพิ่มขีดความสามารถของ WordPress ด้วยการเชื่อมต่อ External API

WordPress คืออะไร WordPress คือระบบ CMS (Content Management System) แบบโอเพนซอร์ส ที่ใช้สำหรับสร้างเว็บไซต์โดยไม่จำเป็นต้องเขียนโค้ดเองเลย...

Read more »

Private Branding Hotel/Property Reservation System

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

Read more »