beat365官网下载苹果手机-365bet备用服务器-bt365投注

记录时光的故事

第 2 章。PostGIS 安装

分类: bt365投注 时间: 2025-08-27 22:39:18 作者: admin 阅读: 2957
第 2 章。PostGIS 安装

2.2.5. 构建 PostGIS 扩展并部署它们

如果您使用的是 PostgreSQL 9.1+,则会自动构建和安装 PostGIS 扩展。

如果您是从源代码存储库构建,则需要首先构建函数描述。如果您安装了 docbook,则会构建这些描述。您也可以使用语句手动构建

make comments

如果您是从发行版 tar 包构建,则无需构建注释,因为这些注释已预先打包在 tar 包中。

这些扩展应自动构建为 make install 过程的一部分。如果需要,您可以从扩展文件夹构建,或者如果需要在不同的服务器上使用,则可以复制文件。

cd extensions

cd postgis

make clean

make

export PGUSER=postgres #overwrite psql variables

make check #to test before install

make install

# to test extensions

make check RUNTESTFLAGS=--extension

make check 使用 psql 运行测试,因此可以使用 psql 环境变量。常用的可覆盖变量包括 PGUSER、PGPORT 和 PGHOST。请参阅 psql 环境变量

扩展文件对于相同版本的 PostGIS 和 PostgreSQL 始终相同,无论操作系统是什么,因此只要您的服务器上已经安装了 PostGIS 二进制文件,就可以将扩展文件从一个操作系统复制到另一个操作系统。

如果您想在与开发环境不同的单独服务器上手动安装扩展,则需要将以下文件从 extensions 文件夹复制到 PostgreSQL 安装的 PostgreSQL / share / extension 文件夹中,以及 regular PostGIS 所需的二进制文件(如果您的服务器上还没有这些文件)。

这些是控制文件,用于表示信息,例如要安装的扩展版本(如果未指定)。 postgis.control, postgis_topology.control。

每个扩展的 /sql 文件夹中的所有文件。请注意,这些文件需要复制到 PostgreSQL share/extension 文件夹的根目录 extensions/postgis/sql/*.sql、extensions/postgis_topology/sql/*.sql

完成此操作后,您应该会在 PgAdmin -> 扩展中看到可用的 postgis 和 postgis_topology 扩展。

如果您使用的是 psql,则可以通过运行以下查询来验证是否安装了扩展

SELECT name, default_version,installed_version

FROM pg_available_extensions WHERE name LIKE 'postgis%' or name LIKE 'address%';

name | default_version | installed_version

------------------------------+-----------------+-------------------

address_standardizer | 3.5.2dev | 3.5.2dev

address_standardizer_data_us | 3.5.2dev | 3.5.2dev

postgis | 3.5.2dev | 3.5.2dev

postgis_raster | 3.5.2dev | 3.5.2dev

postgis_sfcgal | 3.5.2dev |

postgis_tiger_geocoder | 3.5.2dev | 3.5.2dev

postgis_topology | 3.5.2dev |

(6 rows)

如果您在查询的数据库中安装了该扩展,您将在 installed_version 列中看到相关信息。如果您没有收到任何记录,则表示您根本没有在服务器上安装 postgis 扩展。 PgAdmin III 1.14+ 还将在数据库浏览器树的 extensions 部分中提供此信息,甚至允许通过右键单击来升级或卸载。

如果您有可用的扩展,您可以使用 pgAdmin 扩展接口或运行以下 sql 命令在您选择的数据库中安装 postgis 扩展

CREATE EXTENSION postgis;

CREATE EXTENSION postgis_raster;

CREATE EXTENSION postgis_sfcgal;

CREATE EXTENSION fuzzystrmatch; --needed for postgis_tiger_geocoder

--optional used by postgis_tiger_geocoder, or can be used standalone

CREATE EXTENSION address_standardizer;

CREATE EXTENSION address_standardizer_data_us;

CREATE EXTENSION postgis_tiger_geocoder;

CREATE EXTENSION postgis_topology;

在 psql 中,您可以使用来查看您安装的版本以及它们安装的架构。

\connect mygisdb

\x

\dx postgis*

List of installed extensions

-[ RECORD 1 ]-------------------------------------------------

Name | postgis

Version | 3.5.2dev

Schema | public

Description | PostGIS geometry, geography, and raster spat..

-[ RECORD 2 ]-------------------------------------------------

Name | postgis_raster

Version | 3.0.0dev

Schema | public

Description | PostGIS raster types and functions

-[ RECORD 3 ]-------------------------------------------------

Name | postgis_tiger_geocoder

Version | 3.5.2dev

Schema | tiger

Description | PostGIS tiger geocoder and reverse geocoder

-[ RECORD 4 ]-------------------------------------------------

Name | postgis_topology

Version | 3.5.2dev

Schema | topology

Description | PostGIS topology spatial types and functions

扩展表 spatial_ref_sys、layer、topology 不能显式备份。它们只能在备份相应的 postgis 或 postgis_topology 扩展时才能备份,而这似乎只发生在备份整个数据库时。从 PostGIS 2.0.1 开始,只有未与 PostGIS 打包的 srid 记录会在备份数据库时备份,因此不要随意更改我们打包的 srid,并期望您的更改保留在那里。如果您发现问题,请提交工单。扩展表的结构永远不会备份,因为它们是使用 CREATE EXTENSION 创建的,并且对于给定版本的扩展假定它们是相同的。这些行为已构建到当前的 PostgreSQL 扩展模型中,因此我们对此无能为力。

如果您在未利用我们出色的扩展系统的情况下安装了 3.5.2dev,则可以通过运行以下命令将其更改为基于扩展的,以将函数打包到其各自的扩展中。在 PostgreSQL 13 中删除了使用 `unpackaged` 进行安装,因此建议您在升级到 PostgreSQL 13 之前切换到扩展构建。

CREATE EXTENSION postgis FROM unpackaged;

CREATE EXTENSION postgis_raster FROM unpackaged;

CREATE EXTENSION postgis_topology FROM unpackaged;

CREATE EXTENSION postgis_tiger_geocoder FROM unpackaged;

相关文章

为什么掐住猫的后脖颈,它就动不了了?
犬瘟试纸,犬瘟试纸有一条浅到基本上看不见
阴阳师蓝票获取途径汇总:每周稳定收入计算
为什么王者荣耀更新不了,磁盘权限問題!
vivo手机相册在哪个文件夹
日本 五月 2025 热门桌面浏览器