ป้ายกำกับ: มานาน

DBeaver: Export Data FormattingDBeaver: Export Data Formatting

ในฐานะนักพัฒนาที่ทำงานกับฐานข้อมูล PostgreSQL ข้อมูลประเภทวันที่และเวลา (Timestamp) เป็นข้อมูลที่มีความซับซ้อนสูง การส่งออกข้อมูล (Export) จาก DBeaver ไปยังรูปแบบไฟล์ที่ใช้งานทั่วไป เช่น CSV หรือ TXT มักจะเผชิญกับปัญหาการจัดรูปแบบ (Formatting) ที่ไม่สอดคล้องกัน โดยเฉพาะอย่างยิ่งเมื่อต้องจัดการกับข้อมูลประเภท timestamp with time zone

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

💡 ทำไมต้องใช้ Data Formatting Profiles ใน DBeaver?

เมื่อคุณดึงข้อมูลจาก PostgreSQL ข้อมูลประเภท Timestamp จะมีองค์ประกอบของวันที่ เวลา และเขตเวลา (Timezone) ซึ่งเป็นข้อมูลที่ละเอียดอ่อน การส่งออกข้อมูลที่ถูกต้องจึงต้องมีการกำหนดรูปแบบ (Pattern) ที่ชัดเจน เช่น YYYY-MM-DD HH:MM:SS เพื่อให้มั่นใจว่าข้อมูลที่ได้จะสามารถนำไปใช้ต่อในระบบอื่นได้อย่างราบรื่น

การใช้ Formatting Profiles ช่วยให้ DBeaver ทราบล่วงหน้าว่าควรแปลงข้อมูลประเภทใดให้เป็นรูปแบบใดเมื่อทำการ Export ทำให้การจัดรูปแบบเป็นไปอย่างสม่ำเสมอและแม่นยำ ไม่ว่าคุณจะ Export ข้อมูลจำนวนเท่าใดก็ตาม

⚙️ ขั้นตอนการตั้งค่า Profile สำหรับ PostgreSQL

การตั้งค่านี้เกี่ยวข้องกับการสร้างหรือแก้ไขไฟล์ dataformat-profiles.xml ซึ่งเป็นไฟล์ที่กำหนดกฎการจัดรูปแบบข้อมูลในระดับเครื่องมือ (Tool Level) โดยคุณจะต้องระบุคุณสมบัติ (Properties) ที่เกี่ยวข้องกับประเภทข้อมูลที่ต้องการควบคุมเป็นหลัก

1. การเข้าถึงและสร้างไฟล์ Profile

ไฟล์ Profile จะถูกเก็บไว้ในโฟลเดอร์ Metadata ของ DBeaver ซึ่งตำแหน่งจะแตกต่างกันไปตามระบบปฏิบัติการ (Windows, macOS, Linux) โดยคุณจะต้องวางไฟล์ dataformat-profiles.xml ที่สร้างขึ้นเข้าไปในตำแหน่งที่กำหนด

2. โครงสร้าง XML สำหรับ Timestamp

คุณจะต้องกำหนด Property ที่ระบุรูปแบบของ Timestamp อย่างชัดเจน ตัวอย่างโครงสร้าง XML ที่เน้นการกำหนดรูปแบบเวลาสำหรับ PostgreSQL มีดังนี้:

XML

<?xml version="1.0" encoding="UTF-8"?>
<profiles>
<profile name="PostgreSQL Timestamp Format">
<property name="dataformat.type.timestamp.pattern" value="yyyy-MM-dd HH:mm:ss"/>
<property name="dataformat.type.timestamp.timezone" value="Asia/Bangkok"/>
<property name="dataformat.type.timestamp.truncate-milliseconds" value="true"/>
</profile>
</profiles>

คำอธิบาย:

  • dataformat.type.timestamp.pattern: กำหนดรูปแบบวันที่-เวลาที่ต้องการ (เช่น yyyy-MM-dd HH:mm:ss)
  • dataformat.type.timestamp.timezone: กำหนดเขตเวลาที่ใช้ในการแปลงข้อมูล
  • dataformat.type.timestamp.truncate-milliseconds: กำหนดว่าจะตัดส่วนของมิลลิวินาทีทิ้งหรือไม่

✅ การใช้งานจริงกับ PostgreSQL

หลังจากที่ตั้งค่า Profile เรียบร้อยแล้ว เมื่อคุณทำการ Query ข้อมูลจาก PostgreSQL และเลือก Export ข้อมูลเหล่านั้น DBeaver จะใช้กฎจาก Profile ที่คุณกำหนดไว้ในการจัดรูปแบบข้อมูล Timestamp โดยอัตโนมัติ ทำให้มั่นใจได้ว่าข้อมูลที่ส่งออกไปจะมีรูปแบบที่สม่ำเสมอและพร้อมใช้งานในระบบปลายทาง

✨ สรุปและข้อควรจำ

การจัดการ Formatting Profile ใน DBeaver เป็นเทคนิคระดับสูงที่ช่วยยกระดับความน่าเชื่อถือของข้อมูลที่ส่งออกจากฐานข้อมูล PostgreSQL การเข้าใจและปรับแต่งไฟล์ dataformat-profiles.xml ให้ตรงกับความต้องการของระบบปลายทางจึงเป็นสิ่งสำคัญสำหรับ Senior Developer ทุกคน เพื่อให้การทำงานกับข้อมูลเป็นไปอย่างราบรื่นและไร้ข้อผิดพลาด