1
在我自己的PostgreSQL擴展中是否有穩定和便攜的方式來使用PostGIS函數? 我想通過直接從postgis- $ version.so(在PostgreSQL的$ libdir中)調用這個函數來處理帶有函數的幾何類型。如何在自己的PostgreSQL擴展中使用內部PostGIS函數?
在我自己的PostgreSQL擴展中是否有穩定和便攜的方式來使用PostGIS函數? 我想通過直接從postgis- $ version.so(在PostgreSQL的$ libdir中)調用這個函數來處理帶有函數的幾何類型。如何在自己的PostgreSQL擴展中使用內部PostGIS函數?
您通常應該通過SPI
或通過fmgr
快速路徑調用調用SQL級別的PostGIS函數來執行此操作。
非常感謝! _load_external_function_選項在大多數情況下適用於我。主要缺點是我不能使用原始結構,而是pg-Datum必須足夠。看來這是目前最好的方式。 – ptrb 2013-05-12 16:48:32
@ptrb是啊...我想看看Pg有一個更好的擴展到擴展C API。理論上現在你可以用其他擴展使用的數據類型來定義一個頭文件,但實際上他們傾向於使用你想要使用的用於數據轉換的輔助函數。您甚至可以在您的ext中加載postgis頭文件 - 除非您嘗試直接調用任何extern函數,否則您將不會收到有關未定義函數的錯誤。你不能直接鏈接到另一個擴展中的符號,但你可能能夠'load_external_function'這樣的函數並使用它們。 – 2013-05-12 23:45:30