PostGIS 扩展未安装

aar*_*h_s 5 sql database postgresql postgresql-13

你好,我正在尝试使用以下命令将 postgis 安装到我的数据库之一

CREATE EXTENSION postgis;
Run Code Online (Sandbox Code Playgroud)

但它返回了一个错误

错误:

无法打开扩展控制文件“/Library/PostgreSQL/13/share/postgresql/extension/postgis.control”:没有这样的文件或目录

我如何安装postgis而不报错?

更新:我已经在默认数据库上尝试过了 postgres.app 给你的是你的桌面用户名(我的是 aarushsharma),我尝试这样做

CREATE EXTENSION postgis;
Run Code Online (Sandbox Code Playgroud)

它有效,所以我认为这是我的特定 postgres 用户的问题

esh*_*ana 5

首先,您需要下载并安装 Postgis(如果还没有),请按照此操作。

如果您使用的是 Linux,则必须安装 2 个软件包,postgis并且postgresql-13-postgis-3

仅 PostGIS 3.0 及更高版本适用于 Postgresql 13 :

基于 Debian 的发行版上的命令(我从 PostgreSQL 存储库安装):

sudo apt install postgis postgresql-13-postgis-3
Run Code Online (Sandbox Code Playgroud)

brew在 Mac 上,您可以通过在终端中运行以下命令来安装它:

brew install postgis
Run Code Online (Sandbox Code Playgroud)

如果您还没有brew安装,请先安装它:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Run Code Online (Sandbox Code Playgroud)

如果您已使用 进行安装postgressApp,请打开终端并输入以下两个命令:实际上首先按照安装 Postgres.app 文档中的步骤 3 进行操作:

sudo mkdir -p /etc/paths.d &&
echo /Applications/Postgres.app/Contents/Versions/latest/bin | sudo tee /etc/paths.d/postgresapp
Run Code Online (Sandbox Code Playgroud)

然后 :

psql -d DATABASE_NAME -f /Applications/Postgres.app/Contents/Versions/[Postgresqlversion]/share/postgresql/contrib/postgis-[PostGisVersion]/postgis.sql

psql -d DATABASE_NAME -f /Applications/Postgres.app/Contents/Versions/[Postgresqlversion]/share/postgresql/contrib/postgis-[PostGisVersion]/spatial_ref_sys.sql
Run Code Online (Sandbox Code Playgroud)

那么你应该能够启用扩展:

CREATE EXTENSION postgis;
Run Code Online (Sandbox Code Playgroud)


Ale*_*mon 5

我在 Windows + Postgres 14 上遇到了同样的错误。

在 Windows 上,您必须启动“Application Stack Builder”并添加扩展 Postgis,如下所示: http: //www.bostongis.com/PrinterFriendly.aspx ?content_name=postgis_tut01

那么你应该能够创建扩展。