OSX El Capitan 10.11.6下PostgreSQL 9.6.5 earthdistance模块安装验证问询
确认PostgreSQL earthdistance模块是否正确安装的方法
别担心,你可以通过以下几种简单的方式来验证earthdistance模块是否已经正确安装并可用:
查看已安装的扩展列表
在psql中执行\dx命令,这会列出当前数据库中所有已安装的PostgreSQL扩展。你应该能看到earthdistance和它依赖的cube扩展出现在列表里,状态为installed。
如果你想更精准地查询,可以执行SQL语句:SELECT extname, extversion, nspname FROM pg_extension WHERE extname IN ('earthdistance', 'cube');如果返回对应的扩展记录,就说明模块已经成功安装。
检查earthdistance专属函数
之前你用\df看到的是所有函数的列表,可能因为内容太多被截断了。你可以针对性地查看earthdistance模块下的函数,执行:\df earthdistance.*或者用SQL查询来确认:
SELECT proname FROM pg_proc WHERE pronamespace = (SELECT oid FROM pg_namespace WHERE nspname = 'earthdistance');如果能返回
earth_distance、ll_to_earth这类earthdistance特有的函数名称,就说明模块已正确加载。实际运行测试语句
最直接的验证方式是调用一个earthdistance的函数来测试,比如计算两个经纬度点之间的球面距离:-- 计算纽约到洛杉矶的球面距离(单位:米) SELECT earth_distance(ll_to_earth(40.7128, -74.0060), ll_to_earth(34.0522, -118.2437));如果这条语句能正常返回一个数值结果(大概是3935793米左右),就说明earthdistance模块完全可以正常工作。
另外你提到重启设备后用\df没看到预期的函数,大概率是因为默认的\df输出了所有模式下的函数,内容太多导致部分被截断,用上面针对性的查询就能找到啦。
内容的提问来源于stack exchange,提问作者Rich_F
相关产品推荐
相关产品推荐

