ฉันจะทราบได้อย่างไรว่าฉันมี PostGIS เวอร์ชันใด
ฉันจะทราบได้อย่างไรว่าฉันมี PostGIS เวอร์ชันใด
คำตอบ:
เนื่องจากฟังก์ชั่นบางอย่างขึ้นอยู่กับไลบรารี่อื่น ๆ เช่น GEOS และ proj4 คุณอาจต้องการใช้เวอร์ชันของมันด้วย จากนั้นใช้:
SELECT PostGIS_full_version();
PostGIS_Lib_Version();
- ส่งคืนหมายเลขเวอร์ชันของไลบรารี PostGIS
http://postgis.refractions.net/docs/PostGIS_Lib_Version.html
ตามที่คนข้างต้นระบุไว้ให้เลือก PostGIS_full_version (); จะตอบคำถามของคุณ บนเครื่องของฉันที่ฉันใช้งาน PostGIS 2.0 จากลำตัวฉันจะได้ผลลัพธ์ต่อไปนี้:
postgres=# select PostGIS_full_version();
postgis_full_version
-------------------------------------------------------------------------------------------------------------------------------------------------------
POSTGIS="2.0.0alpha4SVN" GEOS="3.3.2-CAPI-1.7.2" PROJ="Rel. 4.7.1, 23 September 2009" GDAL="GDAL 1.8.1, released 2011/07/09" LIBXML="2.7.3" USE_STATS
(1 row)
คุณจำเป็นต้องใส่ใจเกี่ยวกับรุ่นของ PROJ และ GEOS ที่รวมอยู่หากคุณไม่ได้ติดตั้งแพคเกจรวมทุกอย่างโดยเฉพาะอย่างยิ่งมีความเสียหายใน GEOS ก่อน 3.3.2 ( ดังที่ระบุไว้ในคู่มือ postgis 2.0 ) ใน การจัดการกับความถูกต้องทางเรขาคณิต
วิธีอื่นในการรับรุ่นรองคือ:
SELECT extversion
FROM pg_catalog.pg_extension
WHERE extname='postgis'
No function matches the given name and argument types. You might need to add explicit type casts.
แต่วิธีนี้ใช้ได้ ปัญหาเกี่ยวกับการทำงานข้างต้นไม่ได้รับการแก้ไขโดยการทำCREATE EXTENSION Postgis
จากคอนโซลมากกว่าจาก db-
PostGIS_version()
ส่งออกรุ่นหลักและรุ่นรอง (เช่น "2.1") แต่ไม่ใช่หมายเลขรุ่นแก้ไข (เช่น "2.1.4") ที่ชอบPostGIS_full_version()
และPostGIS_Lib_Version()
ทำ