如何将PostGIS添加到PostgreSQL pgAdmin?

Cod*_*ein 20 postgresql postgis pgadmin

我已经安装了PostgreSQL和pgAdmin,但我想添加一个PostGIS服务器,这样我就可以开展地理信息系统项目.

我正在学习本教程,该教程假设已经设置了PostGIS.在本教程的上一页中,它指示您下载包含PostgreSQL和pgAdmin的软件包.我已经安装了这些,所以我想添加,PostGIS但我没有看到任何方法这样做.

有任何想法吗?

pgAdmin截图

jwd*_*630 30

使用超级用户帐户连接到数据库(通常是名为postgres的用户,但在更新版本中是安装应用程序的用户的id.)然后发出以下SQL命令以启用PostGIS功能.

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

您可以在pgAdmin内或通过psql -U [superuser] [database]命令行执行此操作.

或者对命令不利; 作为超级用户; 从pgAdmin中右键单击数据库的Extensions,然后选择New Extension.然后在与Name关联的下拉列表中选择所需的postgis*扩展名.

  • pgadmin 在执行这些命令时显示此错误:错误:无法打开扩展控制文件“/usr/share/postgresql/12/extension/postgis.control”:没有这样的文件或目录 SQL 状态:58P01 (3认同)

aas*_*ish 15

在将PostGIS扩展添加到Postgres之前。您首先需要在Ubuntu 14.04上安装PostGIS

从终端添加PPA

$ sudo add-apt-repository ppa:ubuntugis/ppa
$ sudo apt-get update
Run Code Online (Sandbox Code Playgroud)

使用apt-get安装PostGIS

$ sudo apt-get install postgis
Run Code Online (Sandbox Code Playgroud)

成功安装后,打开psql

$ sudo -u postgres psql
Run Code Online (Sandbox Code Playgroud)

列出所有数据库

postgres=# \l
Run Code Online (Sandbox Code Playgroud)

连接到特定的数据库

postgres=# \c DATABASE_NAME
Run Code Online (Sandbox Code Playgroud)

运行以下命令将PostGIS扩展添加到Postgres

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

从psql退出

postgres=# \q
Run Code Online (Sandbox Code Playgroud)

谢谢


Joh*_*ell 5

您不必将其安装到 pgAdmin,它是 Postgres 本身的扩展。安装完成后,您将其添加到特定数据库,其近 1000 个功能、一些视图和 Spatial_ref_sys 表将出现在该数据库的 pgAdmin 中。您还可以将其安装到 template1 数据库,然后它将自动包含在您随后创建的任何其他数据库中。您可以从http://postgis.net/install/获取二进制安装