我在PostgreSQL中是全新的,我正在学习本教程,以检查是否在PostgreSQL安装上安装了PostGIS扩展。
我使用的是PostgreSQL 9.6.1。
因此,我可以通过命令行访问我的PostgreSQL,并执行以下命令:
SELECT PostGIS_full_version();这是获得的输出:
C:\Users\Andrea>pasql -u admin 'pasql‘不被识别为内部或外部命令、可操作的程序或批处理文件。
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还没有安装,还是我做错了什么?(也许我要在一个特定的数据库上执行它?)
发布于 2016-11-02 14:13:56
你至少有两个问题。首先,
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。
https://stackoverflow.com/questions/40349165
复制相似问题