如何在PostgreSQL pgAdmin中添加PostGIS?

39

我已经安装了PostgreSQL和pgAdmin,但我想添加一个PostGIS服务器以便于我可以在地理信息系统项目上工作。

我正在按照这个教程进行操作,该教程假设已设置好PostGIS。在教程的前一页中,它指示您下载其软件包,其中包括PostgreSQL和pgAdmin。我已经安装了这些软件,所以我想添加PostGIS,但我没有看到任何添加方式。

有什么想法吗?

pgAdmin截图


4
如果您从EnterpriseDB安装了PostgreSQL,那么您可能已经有了StackBuilder,您可以从该程序中安装它。 - Mike T
4个回答

58

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

 CREATE EXTENSION postgis;
 CREATE EXTENSION postgis_topology;
你可以通过pgAdmin或从命令行使用psql -U [超级用户] [数据库]来完成此操作。
对于命令行不熟悉的用户,可以在pgAdmin中以超级用户身份右键单击数据库的扩展,选择新扩展。然后在名称相关的下拉菜单中选择所需的postgis扩展。

3
执行这些命令时,pgadmin显示以下错误: ERROR: 无法打开扩展控制文件“/usr/share/postgresql/12/extension/postgis.control”:没有这样的文件或目录 SQL状态:58P01 - Tigerware

48

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

从终端添加PPA。

$ sudo add-apt-repository ppa:ubuntugis/ppa
$ sudo apt-get update

使用 apt-get 安装 PostGIS

$ sudo apt-get install postgis postgresql-10-postgis-2.5

安装成功后打开psql

$ sudo -u postgres psql

列出所有数据库

postgres=# \l

连接到特定的数据库

postgres=# \c DATABASE_NAME

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

CREATE EXTENSION postgis;
CREATE EXTENSION postgis_topology;

退出psql

postgres=# \q

谢谢你


如果您能将以下信息添加到您的答案中,这也可能会有所帮助。https://dev59.com/O1IH5IYBdhLWcg3wHZNA - Enkum

5
您不需要将其安装到pgAdmin中,而是将其作为Postgres的扩展。一旦安装完成,您可以将其添加到特定的数据库中,并且该数据库中的函数(近1000个)、几个视图和spatial_ref_sys表将出现在该db中的pgAdmin中。您还可以将其安装到template1 db中,然后它将自动包含在您随后创建的任何其他数据库中。您可以从http://postgis.net/install/获取二进制安装程序。

2

安装PGAdmin扩展:

  1. 在服务器级联列表下列出的数据库名称上右键单击,您将看到一个“创建脚本”的选项-点击它。

  2. 这将打开一个包含有关创建/更改DB的一些信息的脚本。清除此脚本,然后粘贴以下行:

    CREATE EXTENSION postgis;

  3. 查看顶部的图标-您将看到一个运行图标/按钮-类似于“播放”图标。 点击它。

  4. 查看日志输出,它应该成功运行命令并安装了扩展。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接