GeoServer 不会写入我的 PostgreSQL 可更新视图

2023-12-12

继从这个先前的问题我使用的是 PostgreSQL 8.4,并且在可更新视图方面遇到问题。

我有一个看法:

CREATE VIEW filedata_view
AS SELECT num, id, ST_TRANSFORM(the_geom,900913) AS the_geom
FROM filedata

并想从我的应用程序中更新它,抛出 Geoserver。但得到一个错误:

<ServiceExceptionReport version="1.2.0" xmlns="http://www.opengis.net/ogc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/ogc http://schemas.opengis.net/wfs/1.0.0/OGC-exception.xsd">
 <ServiceException> {http://www.opengeospatial.net/cite}filedata_view is read-only    </ServiceException>
</ServiceExceptionReport>

Postgresql 中的视图不可更新。我需要创建规则或触发器来更新视图。

我试过这个:

CREATE OR REPLACE RULE ins_view_2 AS
ON UPDATE TO filedata_view DO INSTEAD  UPDATE filedata SET the_geom=ST_TRANSFORM(NEW.the_geom,70066)
WHERE num=NEW.num

但这没有帮助,我仍然遇到同样的错误。

我的错误在哪里?


首先,我非常同意弗兰克的观点。使用9.1和表触发器。但是,无论是该方法还是视图都可能无法解决您的问题。

尝试做一个手册UPDATE从 psql 来看你的观点。如果这有效,并且如果您使用相同的用户 ID 与 opengeospatial 进行连接,那么我认为问题可能是 opengeospatial 过于聪明,并且“知道”视图无法更新。要么是这样,要么它正在尝试INSERT并且您还没有添加匹配的INSERT统治你的观点。

消息“filedata_view is read-only”不是 PostgreSQL 可能生成的消息。我想知道 opengeospatial 是否使用 JDBC 元数据(假设它是 Java)或 INFORMATION_SCHEMA 或类似的查询模式,正在确定filedata_view是一个视图,因此得出结论,它无法更新它。

如果它是来自 PostgreSQL 的消息,它会显示:

# UPDATE customer_v SET customer_number = 1234; 
ERROR:  cannot update view "the_view" 
HINT:  You need an unconditional ON UPDATE DO INSTEAD rule or an INSTEAD OF UPDATE trigger.

启用它可能会提供信息log_statement = 'all' in postgresql.conf并重新加载 postgresql.重新测试,然后查看日志,看看 opengeospatial 到底在做什么。

如果事实证明它正在检测视图,您也许可以通过以下方法解决该问题ON SELECT规则已添加到空表中。该表将像视图一样工作,但 GeoServer 将无法判断它是一个视图,并且可能同意写入它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GeoServer 不会写入我的 PostgreSQL 可更新视图 的相关文章

  • Postgresql 的 SQL_NO_CACHE?

    MySQL 关键字是否有等效的 postgresqlSQL NO CACHE 或 SQL Serverdbcc drop clean buffers 即您可以简单地将其包含在 SQL 语句中或作为脚本的一部分吗 UPDATE 这个问题 查看
  • 手动更改postgresql中查询的执行计划?

    是否可以在postgresql中手动更改执行计划的操作顺序 例如 如果我总是想在过滤之前进行排序操作 尽管这在 postgresql 的正常使用中没有意义 是否可以通过例如手动强制执行该操作改变运营的内部成本 如果我实现自己的功能呢 是否可
  • Postgresql 串行错误自动增量

    我在 postgresql 上遇到问题 我认为 postgresql 中有一个错误 我错误地实现了一些东西 有一个表包括colmn1 primary key colmn2 unique colmn3 插入一行后 如果我尝试使用现有的另一次插
  • Postgres < 9.0 的 DO 块相当于什么

    Postgres 8 4 8 相当于什么 DO BEGIN IF NOT EXISTS THEN EXECUTE END IF END create function f returns void as BEGIN IF NOT EXIST
  • 最近邻居的 Postgis SQL

    我正在尝试计算最近的邻居 为此 我需要传递一个参数来限制与邻居的最大距离 例如 半径1000米内最近的邻居是哪些 我做了以下事情 我用数据创建了表 id name latitude longitude 之后 我执行了以下查询 SELECT
  • 如何在连接到 Heroku PostgreSQL 的 Flask 应用程序上处理更多并发用户?

    Heroku 上的 Flask API 有许多端点 它们在将 json 化结果返回给客户端之前在我的 Heroku PostgreSQL 数据库上运行查询 我当前的计划是 Hobby Basic 层 因此数据库最多只能处理 20 个连接 如
  • PostgreSQL 在递归查询中找到所有可能的组合(排列)

    输入是一个长度为 n 的数组 我需要生成数组元素的所有可能组合 包括输入数组中元素较少的所有组合 IN j A B C OUT k A AB AC ABC ACB B BA BC BAC BCA 随着重复 所以AB BA 我尝试过这样的事情
  • pg_dump 没有对象注释?

    有没有办法执行 pg dump 并排除表 视图和列的 COMMENT ON 我广泛使用 COMMENT ON 命令来描述所有对象 并且经常在其中包含换行符以获得更清晰的描述 例如 COMMENT ON TABLE mytable1 IS M
  • 在 PostgreSql 中计算百分比

    例如我有一个这样的表 string adm A 2 A 1 B 2 A 1 C 1 A 2 通过 SQL 查询 我想要这样的结果 string perc adm A 50 B 100 C 0 我想要每个字符串中数字 2 出现的百分比 我可以
  • postgreSQL 在 WAMP 上的集成

    我刚刚在 Windows 7 上安装了 postgreSQL 我正在尝试将 postgreSQL 与 WAMP 服务器集成 为此 我在 httpd conf 和 php ini 文件中进行了以下更改 1个加载模块c path to libp
  • 如何在 Django QuerySet 中将 DateField() + TimeField() 转换为本地时间?

    我的模型为这些字段 date models DateField 开始时间 models TimeField 结束时间 models TimeField 我想用以下方式注释查询集start datetime and end datetime
  • 使用 MacPorts 在 Mac OS X 10.5 上安装 PostgreSQL 时出错

    我已经使用 MacPorts 在几台不同的计算机上安装了 PostgreSQL 没有问题 但是当涉及到我自己的笔记本电脑时 我无法构建它 当我执行此命令时 sudo port install postgresql83 我收到此错误 chec
  • 如何在Django项目中使用PostgreSQL的存储过程或函数

    我正在开发一个 Django 项目 我决定在 PostgreSQL 中编写逻辑代码 而不是用 Python 编写 因此 我在 PostgreSQL 中创建了一个存储过程 例如 存储过程如下所示 create or replace proce
  • postgresql:插入...(选择*...)

    我不确定它是否是标准 SQL INSERT INTO tblA SELECT id time FROM tblB WHERE time gt 1000 我正在寻找的是 如果 tblA 和 tblB 位于不同的数据库服务器中怎么办 Postg
  • 使用 PostGIS 拥有通用 GEOGRAPHY 列

    在 PostgreSQL 9 PostGIS 1 5 中 有没有办法创建 通用 GEOGRAPHY 列 我指的是接受 POINT 以及 POLYGON LINESTRING 等的列 到目前为止 我只在 Internet 上看到过像 GEOG
  • 使用连接池后如何处理过多的并发连接?

    Scenario 假设您有一个拥有大量流量的网站或应用程序 即使使用数据库连接池 性能也会受到真正的打击 站点 应用程序甚至可能崩溃 因为并发连接太多 Question 人们有什么选择来处理这个问题 我的想法 我在想有这个问题的人可以创建多
  • PostgreSQL 错误 42501:架构权限被拒绝

    我正在 ASP NET 中构建一个用户注册系统 使用 PostgreSQL 数据库来维护用户信息 作为注册过程的一部分 用户会收到一条确认消息 他们必须单击其中的链接来验证其电子邮件地址 然后 他们将进入一个可以创建密码的页面 一旦用户提供
  • PostgreSQL函数中sql语言和plpgsql语言的区别

    我很新数据库开发所以我对下面的例子有一些疑问 函数 f1 语言 SQL create or replace function f1 istr varchar returns text as select hello varchar istr
  • 使用 SQL 完全复制 postgres 表

    免责声明 这个问题和栈溢出问题类似here https stackoverflow com questions 198141 copy a table including indexes in postgres 但这些答案都不适用于我的问题
  • 使用所有连接的 Flask unittest 和 sqlalchemy

    在进行了大约 100 个单元测试后 我刚刚在 Flask 应用程序上运行单元测试时遇到了问题 所有单元测试都会通过 但是当一次全部运行时 它们将失败并出现以下错误 OperationalError OperationalError FATA

随机推荐

  • JavaScript - 比较两个多维数组

    我有两个多维数组 首先是类似的东西 one one three four five five one one one 第二个是这样的 one one nine one one one two two two two two 现在 我想要的是
  • 将现有资源导入 Terraform 状态文件时出错

    我正在尝试重构我的一些模块 这需要我将现有资源移动到不同的状态文件中 通常导入资源是单调但简单的 我不知道如何解释以下内容 路径段的数量不能被2整除 尝试导入任何这些资源时出错 我尝试导入的所有资源都会发生这种情况 我过去已经成功完成过多次
  • IE8 - 如何在内容加载后运行 jquery 代码?

    我遇到一种情况 我加载一个父网页 恰好是 Java JSP 其中包含我正在文档就绪函数内部使用 ajax 异步 加载的内容 期望页面能够快速呈现任何内容 然后运行 jquery 代码页面显示后执行异步工作 它的工作方式与 Firefox 中
  • SQL 多个参数值

    SQL 2005 中有哪些选项可用于将多个值传递给存储过程 伪代码 在 C 代码中 List
  • 相机使用自定义相机预览渲染器不清楚

    我使用以下链接使用自定义渲染器显示相机预览https developer xamarin com guides xamarin forms application fundamentals custom renderer view I wa
  • 如何限制图片上传大小小于2mb?

    我有一个 htmlselect上传图像的选项 div class row smallMargin div class col sm 6 Attach Image div div class col sm 6 div div
  • 如何从hibernate+spring应用程序将csv文件导入mysql?

    我想将 csv 文件导入到 mysql 表中 我进行导入的原因是因为我有很多大文件 这些文件会在短时间内发送到我的服务器 尝试使用 java 逐行添加 但遇到了一堆不同的错误 例如休眠异常或 java 挂起 如果文件是 太大 导入速度非常快
  • ForEach - 打印项目和数值[重复]

    这个问题在这里已经有答案了 如何实现显示每个数组成员以及取决于列表计数的数值的 ForEach 结果 该数值会针对每个项目递增 例子是 1 火鸡 2 火腿 3 梅奥 struct EditorDirections View State pr
  • 4 列 CSS 布局 - 流体

    我正在绕圈子试图解决这个问题 HTML CSS div div class inner box clearfix div div div div
  • 获取点击的图片框数组的索引

    我正在动态创建一些图片框并单击图片框的事件 如下所示 Image myImage Image FromFile image Untitled6 png PictureBox txtTeamNames new PictureBox 5 for
  • 用于下载文档的 Alfresco REST API

    我想使用 Afresco REST API 下载文档 经过一番研究 我发现了这个 REST API alfresco s api node content property store type store id id 但我不知道如何传递参
  • 如何从servlet调用JavaScript函数

    我是网络开发新手 我有一个外部 JavaScript 文件 其中包含一个要显示的函数 包含错误详细信息的提示 我需要将错误消息传递给函数 我已经在servlet中编写了控制器 如何从我的 servlet 调用该 JavaScript 文件的
  • 处理退出状态 popen python

    我试图用 popen 处理状态退出 但它给出了一个错误 代码是 import os try res os popen ping c 4 www google com except IOError print ISPerror popen t
  • 奇怪的单元格地址非连续范围的行为:VBA

    我试图回答这个问题当我在 Excel 中遇到一些奇怪的 VBA 行为时 我写了一个非常简单的子程序来演示这个问题 Sub debugAddresses rng As Range Debug Print Whole range rng Add
  • 从 Android 中的通知开始新活动

    我想从状态栏通知启动一个活动 A 当活动 A 已经在前面时 我想完成该活动并重新启动活动 A 我该怎么做 查看有关创建状态栏通知的文档 这绝对涵盖了使用 Intent 和 PendingIntent 从通知启动和 Activity http
  • 从边列表构建所有哈密顿路径

    我无法找到从相关元组列表构建树路径的方法 我只想要每个节点被访问一次的每个路径的列表 也称为哈密尔顿路径 我不断接近 但错过了一些路径 例如 假设我们有以下连接列表 connections 1 4 1 5 2 5 3 4 4 1 4 3 4
  • expo-auth-session - 返回应用程序时的两个应用程序选项

    SDK版本 43 0 0 平台 Android iOS 网络 所有 Android 您好 我在托管工作流程中使用 expo auth session 通过其官方 API 收集 Instagram 用户数据 它在开发环境中运行良好 通过 ex
  • awk 搜索字符串并设置退出代码(如果存在)

    我想检查两个地址之间是否存在一行并返回退出代码0如果它存在并且1如果没有 我想我已经有了一个可能的例子 但我想知道是否有一种更干净的方法来做到这一点 或者也许是 RedHat 上也常见的不同工具 我的命令 awk BEGIN found 1
  • 管道超级代理响应到快速响应

    我正在尝试使用 Express 应用程序 代理 一些文件 为什么下面的代码不起作用 var app require express var request require superagent app get image function
  • GeoServer 不会写入我的 PostgreSQL 可更新视图

    继从这个先前的问题我使用的是 PostgreSQL 8 4 并且在可更新视图方面遇到问题 我有一个看法 CREATE VIEW filedata view AS SELECT num id ST TRANSFORM the geom 900