gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 14:06:35 27 4
gpt4 key购买 nike

我绝对是 PostgreSQL 的新手,我正在按照本教程检查我的 PostgreSQL 安装是否安装了 PostGIS 扩展。

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

我正在使用 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 还没有安装或者我做错了什么? (也许我必须在特定数据库上执行它?)

最佳答案

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

Il code page della console (850) differisce dal code page
di Windows (1252)

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

第二个问题,是你在运行

SELECT PostGIS_full_version();

来自 Postgres DB,如您所见

postgres=#

一开始。安装 Postgis 时,通常通过

CREATE EXTENSION POSTGIS;

您通常会在您想要在空间上启用的数据库中执行此操作,而不是在用于系统表等的 Postgres 数据库中执行此操作。请注意,Postgis 并未全局安装。另一种选择是将 Postgis 函数安装到 template1 数据库中,这意味着您创建的所有后续数据库都将自动安装 Postgis。

关于database - 为什么我不知道 PostGIS 是否正确安装在我的 PostgreSQL 数据库上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40349165/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com