首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我不知道PostGIS是否正确地安装在我的PostgreSQL数据库上?

为什么我不知道PostGIS是否正确地安装在我的PostgreSQL数据库上?
EN

Stack Overflow用户
提问于 2016-10-31 19:24:41
回答 1查看 2.5K关注 0票数 1

我在PostgreSQL中是全新的,我正在学习本教程,以检查是否在PostgreSQL安装上安装了PostGIS扩展。

这是教程:https://www.a2hosting.com/kb/developer-corner/postgresql/determining-the-postgresql-and-postgis-versions

我使用的是PostgreSQL 9.6.1

因此,我可以通过命令行访问我的PostgreSQL,并执行以下命令:

代码语言:javascript
复制
SELECT PostGIS_full_version();

这是获得的输出:

C:\Users\Andrea>pasql -u admin 'pasql‘不被识别为内部或外部命令、可操作的程序或批处理文件。

代码语言:javascript
复制
C:\Users\Andrea>psql -U postgres
psql (9.6.1)
ATTENZIONE: Il code page della console (850) differisce dal code page
            di Windows (1252). I caratteri a 8-bit potrebbero non
            funzionare correttamente. Vedi le pagine di riferimento
            psql "Note per utenti Windows" per i dettagli.
Digita "help" per avere un aiuto.

postgres=# SELECT PostGIS_full_version();
ERROR:  function postgis_full_version() does not exist
RIGA 1: SELECT PostGIS_full_version();
               ^
NOTA: No function matches the given name and argument types. You might need to add explicit type casts.
postgres=#

因此,我已经使用标准用户访问了数据库,然后执行了命令,但似乎不存在PostGIS_full_version()函数。

那什么是什么意思?这意味着PoistGIS还没有安装,还是我做错了什么?(也许我要在一个特定的数据库上执行它?)

EN

回答 1

Stack Overflow用户

发布于 2016-11-02 14:13:56

你至少有两个问题。首先,

代码语言:javascript
复制
Il code page della console (850) differisce dal code page
        di Windows (1252)

这意味着您安装了一个旧版本的Postgres,因此,当您从某个地方键入psql时,就会找到这个旧版本。我不再使用Windows了,但我猜这个位置将在您的环境变量的路径中设置。运行客户端和服务器的不兼容版本通常是个坏主意。您可以通过删除较早版本(大概为8.xx)的Postgres的路径来解决这个问题。

第二个问题是你在跑步

选择PostGIS_full_version();

从Postgres DB,您可以从

postgres=#

刚开始的时候。安装Postgis时,通常通过

创建扩展POSTGIS;

您通常会在您希望在空间上启用的db中这样做,而不是在Postgres DB中这样做,后者用于系统表等。注意,Postgis不是全局安装的。另一个选项是将Postgis函数安装到template1 db中,这意味着您创建的所有后续数据库都将自动安装Postgis。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40349165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档