导入器JDBC存储

此插件允许在GeoTools支持的关系数据库中共享导入的状态。与默认内存存储相比,这有两个方面的帮助:

  • 导入的状态被持久化,并在重新启动后继续存在

  • 如果使用外部数据库(如PostgreSQL/PostGIS),则可以在负载平衡中的不同GeoServer节点上运行多个导入,并获得其状态的统一视图

安装

模块zip只需要在GeoServer中解包 WEB-INF\lib . 启动时,默认情况下,模块将在数据目录中的“importer”文件夹中创建一个H2数据库,并在 ${{GEOSERVER_DATA_DIR}}/jdbc-import-store.properties .

可以修改属性文件以指向外部数据库,例如,以下内容适用于PostGIS数据库(即使未使用,也必须使用PostGIS扩展名):

dbtype=postgis
user=myUserName
passwd=myPassword
database=databaseName
port=5432
host=localhost
schema=public

在连接时,代码将创建一个表和适当的索引来跟踪导入。如果不允许上面的用户创建表,可以使用以下SQL语句(适应特定的数据库):

CREATE TABLE public.import_context
(
  fid serial,
  context text,
  created timestamp,
  updated timestamp,
  "user" character varying,
  state character varying,
  CONSTRAINT import_context_pkey PRIMARY KEY (fid)
);
CREATE INDEX import_context_state ON import_context(state);
CREATE INDEX import_context_user ON import_context("user");

备注

该存储已经用H2和Postgresql以及PostGIS扩展进行了测试,如果其他关系数据库安装了相应的GeoTools数据存储插件,并且数据库没有更改列的名称(Oracle很可能不会工作),那么它也可以与它们一起工作。

备注

通过一些简单的额外开发和测试,可以扩展代码以保存任何GeoTools支持的存储中的导入状态,例如SOLR、MongoDB。

Previous: 影像地图