ดูเหมือนว่าผู้ดูแลระบบของคุณติดตั้งฐานข้อมูลเรียบร้อยแล้วและให้รายละเอียดที่คุณต้องการ อาจมีการกำหนดค่า PostGIS ในระหว่างการติดตั้งด้วยเช่นกัน แต่ถ้าไม่คุณสามารถตรวจสอบว่าคุณทำตามขั้นตอนเหล่านี้ได้หรือไม่
ก่อนอื่นขอให้ผู้ดูแลระบบของคุณติดตั้ง pgAdmin สิ่งนี้จะช่วยให้คุณเข้าถึงฐานข้อมูล PostgreSQL ของคุณด้วยส่วนต่อประสานกราฟิก
https://www.pgadmin.org/download/windows.php
เปิด pgAdmin
หาก PostgreSQL ของคุณได้รับการติดตั้งแล้ว
- ในคอมพิวเตอร์ของคุณจะปรากฏเป็น localhost คุณควรดับเบิลคลิกที่ 'PostgreSQL (หมายเลขรุ่น) (localhost: 5432)' เพื่อเชื่อมต่อ
- หากมีการติดตั้งบนเครือข่ายคุณจะต้องมีผู้ดูแลระบบของคุณเพื่อแจ้งให้คุณทราบที่อยู่โฮสต์ (ถ้าคุณยังไม่มี) จากนั้นคุณจะต้องไปที่ไฟล์> เพิ่มเซิร์ฟเวอร์และกรอกข้อมูลลงในฟิลด์
เมื่อเชื่อมต่อไปที่ Edit > New Object > New Database
ตั้งชื่อ มันจะปรากฏในรายการเซิร์ฟเวอร์ของคุณ
ดับเบิลคลิกเพื่อเชื่อมต่อ ตรวจสอบเพื่อดูว่ารายการExtensions
postgis
ถ้าไม่;
เปิดหน้าต่าง SQL โดยคลิกที่ไอคอน SQL
และพิมพ์
CREATE EXTENSION PostGIS
กด 'Execute Query' - ไอคอนนี้
คลิกขวาที่ฐานข้อมูลในรายการและยกเลิกการเชื่อมต่อจากนั้นเชื่อมต่อใหม่ ส่วนขยายควรจะpostgis
อยู่ในรายการ
คุณสามารถตั้งค่าบทบาทกลุ่มใหม่และบทบาทการเข้าสู่ระบบ ณ จุดนี้ดูเหมือนว่าคุณควรได้รับความปลอดภัยและผู้ใช้ของคุณทั่วทั้งเครือข่าย
postgres
หรือถ้าคุณเพียงต้องการที่จะทดสอบมันคุณสามารถต่อเมื่อมีบทบาทเริ่มต้น
สามารถตั้งค่ากลุ่มต่าง ๆ ให้มีสิทธิ์ที่แตกต่างกันเช่นผู้ดูแลระบบและผู้ใช้ การเข้าสู่ระบบของผู้ใช้สามารถตั้งค่าและกำหนดให้กับกลุ่มใดก็ได้ที่เหมาะกับระดับสิทธิ์ที่คุณต้องการให้กับผู้ใช้หรือคุณสามารถให้สิทธิ์การเข้าถึงตารางทั้งหมดไปยังผู้ดูแลระบบและเฉพาะผู้ใช้บางกลุ่มเป็นต้น
เปิดหน้าต่าง SQL และเรียกใช้คิวรีเหล่านี้
CREATE ROLE user_group_name NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
CREATE ROLE admin_group_name NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
GRANT user_group_name TO admin_group_name
GRANT ALL ON DATABASE database_name TO admin_group_name;
ตั้งค่าการเข้าสู่ระบบของผู้ดูแลระบบ (เข้าสู่ระบบในฐานะ postgres / superuser)
CREATE ROLE admin_name LOGIN PASSWORD 'their_password' NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
GRANT admin_group_name TO admin_name;
ตั้งค่าการเข้าสู่ระบบของผู้ใช้ (ล็อกอินเป็น postgres / superuser)
CREATE ROLE user_name LOGIN PASSWORD 'their_password' NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
GRANT users_group_name TO user_name;
เปิด QGIS เริ่มโครงการใหม่
คลิกที่ไอคอน 'เพิ่มเลเยอร์ PostGIS' ในแถบเครื่องมือด้านซ้าย
คลิกการเชื่อมต่อ 'ใหม่' และป้อนรายละเอียดการเชื่อมต่อข้างต้น (ถ้าฐานข้อมูลของคุณเป็นแบบโลคัลโฮสต์จะเป็นเพียงlocalhost
)
คุณสามารถทดสอบการเชื่อมต่อ ณ จุดนี้ หากคุณทำเครื่องหมายที่ช่อง 'บันทึก' ด้วยชื่อผู้ใช้และรหัสผ่านช่องดังกล่าวจะจัดเก็บข้อมูลรับรองของคุณไว้ในโปรไฟล์ของคุณดังนั้นคุณไม่จำเป็นต้องป้อนแต่ละครั้ง ขึ้นอยู่กับความต้องการด้านความปลอดภัยของคุณ
กดตกลงและปิดหน้าต่าง 'เพิ่มหน้าต่าง PostGIS'
จากนั้นไปที่Database > DB Manager > DB Manager
(รุ่น QGIS ล่าสุดมีตัวจัดการฐานข้อมูลติดตั้งเป็นรุ่นมาตรฐานรุ่นก่อนหน้านี้คุณจะต้องติดตั้งปลั๊กอินตัวจัดการฐานข้อมูล)
เลือก PostGIS สคีมาสาธารณะเริ่มต้นจะปรากฏขึ้น ดูเหมือนว่าคุณควรสร้างคีมาใหม่แทนที่จะใช้แบบสาธารณะ
สคีมา> สร้างสคีมา - ตั้งชื่อ ( no_spaces_or_use_underscores
)
เมื่อสร้างแล้วคุณสามารถตรวจสอบได้โดยกลับไปที่ pgAdmin ยกเลิกการเชื่อมต่อและเชื่อมต่อใหม่ สคีมาใหม่ควรจะอยู่ที่นั่นแล้ว
กลับไปที่ QGIS DB Manager เพื่ออัพโหลดรูปร่างไฟล์ลงในตารางในฐานข้อมูล
คลิกลูกศรลง 'เรียกดูเลเยอร์ / ไฟล์' เรียกดูไปยังรูปร่างไฟล์ที่คุณต้องการนำเข้า คลิกไอคอน "... " เพื่อเปิดเบราส์
ตั้งชื่อตาราง ( again_no_spaces_or_use_underscores
)
เลือก Primary key
เลือก Geometry Column
เลือกSRID
และป้อนรหัส CRS
OK
สำหรับตอนนี้ปล่อยให้ทุกอย่างอื่นและ
หากเป็นชุดข้อมูลขนาดใหญ่อาจต้องใช้เวลาสักครู่โดยเฉพาะระหว่างการเชื่อมต่อเครือข่าย / อินเทอร์เน็ต
อีกครั้งคุณสามารถกลับไป pgAdmin Tables
กดรีเฟรชเวลานี้และตารางใหม่จะปรากฏใน
หากคุณตั้งค่าบทบาทกลุ่มและผู้ใช้คุณจะต้องให้สิทธิ์การเข้าถึงสคีมาตัวอย่างเช่น
GRANT ALL ON SCHEMA schema_name TO admin_group_name;
GRANT USAGE ON SCHEMA schema_name TO user_group_name;
กลับไปที่ QGIS และ 'เพิ่มเลเยอร์ PostGIS' เวลานี้เลือกเชื่อมต่อ เปิดสคีมาและไฮไลต์ตารางและคลิก 'เพิ่ม' และจะเปิดขึ้นในพื้นที่โครงการของคุณ