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