ตามเอกสารของ PostGIS เท่านั้น
การกระจายแพคเกจบางส่วนของ PostGIS ... โหลดฟังก์ชัน PostGIS ลงในฐานข้อมูลแม่แบบที่เรียกว่า template_postgis
template_postgis
ดังนั้นไม่กระจายทุกที่มาพร้อมกับ
ดังที่กล่าวไว้ในคำตอบที่มีอยู่แล้วใน PostGIS 2.x มันง่ายในการสร้างหรือปรับแต่งเทมเพลตด้วยตัวคุณเองโดยสร้างฐานข้อมูลปกติชื่อtemplate_postgis
superuser แล้วสร้างส่วนขยายที่จำเป็นและเป็นตัวเลือก (เช่น pgRouting) ตามเอกสารของ PostGIS:
sudo su postgres
createdb template_postgis
psql -d template_postgis -c "CREATE EXTENSION postgis;"
psql -d template_postgis -c "CREATE EXTENSION postgis_topology;"
-- if you built with sfcgal support --
psql -d template_postgis -c "CREATE EXTENSION postgis_sfcgal;"
นอกจากนี้คุณสามารถทำเครื่องหมายนี้ฐานข้อมูลที่สร้างขึ้นใหม่เป็นฐานข้อมูลแม่แบบโดยการตั้งdatistemplate
ธงในตารางระบบเพื่อpg_database
ture
psql -d template_postgis -c "UPDATE pg_database SET datistemplate = 'true' WHERE datname = 'template_postgis';"
สิ่งนี้จะช่วยป้องกันฐานข้อมูลแม่แบบจากการถูกทิ้งหรือดัดแปลงโดยผู้ใช้รายอื่นหรือตัวคุณเองโดยไม่ตั้งใจ (คุณจะต้องตั้งค่าสถานะเป็นเท็จหากคุณต้องการเปลี่ยนแปลงเทมเพลต)
จากนั้นคุณสามารถสร้างฐานข้อมูลเชิงพื้นที่ตามสิ่งที่คุณใส่ลงในแม่แบบ:
createdb -T template_postgis my_spatial_db