การอ่าน และ เขียน ของ PostgreSQL
FME สามารถอ่านและเขียนข้อมูลแอตทริบิวต์ของ PostgreSQL ได้ PostgreSQL คือระบบการจัดการฐานข้อมูลเชิงวัตถุเชิงสัมพันธ์ (ORDBMS) ที่จัดเก็บข้อมูลแอตทริบิวต์
โปรแกรมอ่าน/เขียน PostgreSQL ได้รับการออกแบบมาโดยเฉพาะเพื่อจัดการส่วนแอตทริบิวต์ของข้อมูลในฐานข้อมูล เมื่ออ่านข้อมูลทางเรขาคณิตหรือระบบอ้างอิงเชิงพื้นที่ (SRS) ที่จัดเก็บในเลเยอร์ PostGIS บน PostgreSQL ควรใช้โมดูลโปรแกรมอ่าน/เขียน PostGIS แทน โปรแกรมอ่าน/เขียน PostgreSQL จะสื่อสารโดยตรงกับอินเทอร์เฟซ libpq ของ PostgreSQL เพื่อให้มีปริมาณงานสูงสุด
บทนี้ถือว่าคุณคุ้นเคยกับ PostgreSQL, SQL, ประเภทแอตทริบิวต์ที่รองรับ และกลไกการสร้างดัชนีแล้ว
สำหรับข้อมูลเพิ่มเติม โปรดดูหน้าแรกของ PostgreSQL ที่ http://www.postgresql.org/
ข้อกำหนดของผลิตภัณฑ์และระบบ PostgreSQL
Reader/Writer | FME Form | FME Flow | FME Flow Hosted | Windows 64-bit | Linux | Mac |
อ่าน | ใช่ | ใช่ | ใช่ | ใช่ | ใช่ | ใช่ |
เขียน | ใช่ | ใช่ | ใช่ | ใช่ | ใช่ | ใช่ |
ภาพรวมของการอ่านข้อมูล
FME ถือว่าชุดข้อมูล PostgreSQL เป็นฐานข้อมูลที่มีชุดของตารางเชิงสัมพันธ์พร้อมด้วยรูปทรงเรขาคณิตที่สอดคล้องกัน ตารางจะต้องถูกกำหนดในเวิร์กสเปซก่อนจึงจะอ่านได้
รองรับคำสั่ง WHERE และการรวมคำสั่งตามอำเภอใจอย่างสมบูรณ์ รวมถึงคำสั่ง SQL SELECT ตามอำเภอใจทั้งหมด อย่างไรก็ตาม ผู้ใช้จะต้องรับผิดชอบต่อความถูกต้องของคำสั่งหรือคำสั่งดังกล่าว รวมถึงการอ้างถึงเมื่อจำเป็น
เมื่ออ่านจากฐานข้อมูล PostgreSQL ตารางแต่ละตารางจะถือเป็นประเภทฟีเจอร์ใน FME และแต่ละแถวของตารางจะถือเป็นอย่างน้อยหนึ่งฟีเจอร์ใน FME
กระบวนการอ่านข้อมูล
เครื่องอ่านจะเปิดการเชื่อมต่อกับฐานข้อมูล ค้นหาข้อมูลเมตา และค้นหาข้อมูล ข้อมูลจะถูกอ่านโดยใช้เคอร์เซอร์ข้อความ และดึงแถวไปยังเครื่องไคลเอนต์เป็นชุดๆ ละ 10,000 ตามค่าเริ่มต้น มีเคอร์เซอร์หนึ่งตัวต่อตารางอินพุตหนึ่งตัว
ตารางและคอลัมน์
- การตัดทอน: ชื่อตารางและคอลัมน์จะถูกตัดให้เหลือ 64 อักขระ หากตัดแล้วได้ชื่อซ้ำกัน พฤติกรรมดังกล่าวจะไม่สามารถระบุได้ โปรดตรวจสอบให้แน่ใจว่าชื่อตารางเป็นไปตามข้อตกลงการตั้งชื่อของ PostgreSQL
- การตั้งชื่อ: อนุญาตให้ใช้ช่องว่างและอักขระพิเศษได้ ชื่อตารางและคอลัมน์ต้องตรงตามตัวพิมพ์ใหญ่-เล็ก การตั้งชื่อตารางที่เหมาะสมจะรองรับในรูปแบบ <schemaname>.<tablename>
- รูปแบบ: เส้นทางการค้นหารูปแบบจะถูกอ่านและตีความเพื่อกำหนดรูปแบบเริ่มต้นของผู้ใช้เมื่อเขียนและรูปแบบที่พร้อมใช้งานสำหรับการอ่าน หากเส้นทางการค้นหารูปแบบไม่ถูกต้อง รูปแบบสาธารณะเริ่มต้นจะถูกใช้สำหรับฐานข้อมูลใหม่กว่า
- การเข้ารหัส: เพิ่มการรองรับ UNICODE เพื่อรองรับการเข้ารหัสของระบบ แม้ว่าคุณจะไม่สามารถระบุการเข้ารหัสได้อย่างชัดเจน แต่ถือว่าไคลเอนต์ได้ป้อนข้อมูลและสร้างตารางและคอลัมน์ในการเข้ารหัสของระบบปฏิบัติการแล้ว รองรับการเข้ารหัสระบบหลายระบบผ่านการแปลง PostgreSQL ดั้งเดิมระหว่างไคลเอนต์และเซิร์ฟเวอร์ โดยเฉพาะอย่างยิ่งหากการเข้ารหัสเซิร์ฟเวอร์ถูกตั้งค่าเป็น UNICODE
ภาพรวมของการเขียนข้อมูล
โมดูลตัวเขียน PostgreSQL จะจัดเก็บทั้งรูปทรงเรขาคณิตและแอตทริบิวต์ไว้ในฐานข้อมูล PostgreSQL โปรดทราบว่าแอตทริบิวต์จะเขียนเป็นตัวพิมพ์เล็กเสมอ ตัวเขียน PostgreSQL มีความสามารถดังต่อไปนี้:
- การรองรับธุรกรรม: โปรแกรมเขียน PostgreSQL ให้การสนับสนุนธุรกรรมที่ช่วยลดขั้นตอนในการโหลดข้อมูล ในบางครั้ง การดำเนินการโหลดข้อมูลจะยุติลงก่อนกำหนดเนื่องจากปัญหาข้อมูล การรองรับธุรกรรมจะจัดเตรียมกลไกสำหรับการโหลดข้อมูลที่แก้ไขใหม่โดยไม่สูญเสียหรือซ้ำซ้อนของข้อมูล
- การสร้างดัชนี: ผู้เขียน PostgreSQL สามารถตั้งค่าและเติมดัชนีเป็นส่วนหนึ่งของกระบวนการโหลด ตามค่าเริ่มต้น จะไม่มีการสร้างดัชนีใดๆ คอลัมน์เพิ่มเติมสามารถสร้างดัชนีได้ทีละคอลัมน์ ดัชนีคอลัมน์แบบผสมไม่ได้รับการสนับสนุนในขณะนี้
- การโหลดจำนวนมาก: โปรแกรมเขียน PostgreSQL ใช้เทคนิคการโหลดจำนวนมากเพื่อให้แน่ใจว่าข้อมูลโหลดได้อย่างรวดเร็ว
การอ่าน และ เขียน ของ PostgreSQL