如何仅在一个事务中禁用 PostgreSQL 触发器?

2024-04-07

我需要在事务中临时禁用一个 PostgreSQL 触发器,但不需要硬锁定表。有人知道这是否可能吗?

像这样的事情,无需锁定表并禁用此事务之外的触发器。

BEGIN TRANSACTION;

  ALTER TABLE foo DISABLE TRIGGER bar;

  -- DO SOME UPDATES ON foo
  UPDATE foo set field = 'value' where field = 'test';

  ALTER TABLE foo ENABLE TRIGGER bar;

COMMIT;

要暂时禁用 PostgreSQL 会话中的所有触发器,请使用以下命令:

SET session_replication_role = replica;

这仅禁用当前数据库会话的所有触发器。对于批量操作很有用,但请记住要小心保持数据库的一致性。

重新启用:

SET session_replication_role = DEFAULT;

Source: http://koo.fi/blog/2013/01/08/disable-postgresql-triggers-temporarily/ http://koo.fi/blog/2013/01/08/disable-postgresql-triggers-temporarily/

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

如何仅在一个事务中禁用 PostgreSQL 触发器? 的相关文章

随机推荐

  • 如何用不连续性数据绘制折线图?

    我在 R 中使用 ggplot2 库绘制图表时遇到问题 我有一个 日期 变量 其中包含 3 个 品牌 品牌中每个品牌的披露值 评级 的日期 问题是 一场活动结束后 市场就只剩下两个品牌了 因此 我想在同一图中分别绘制此事件之前和之后的线条
  • 从三个单独的列表创建嵌套字典

    我编写了一些代码来生成三个围绕项目的单独列表 第一个列表是 ID 列表 第二个列表是开始日期列表 第三个列表是结束日期列表 我想将这些列表合并到一个嵌套字典中 item 0 from start date and item 0 从 end
  • JavaScript 函数拒绝在生产服务器上工作,但在本地服务器上工作

    我正在使用从 Macromedia Dreamweaver 借用的 MM goToURL 函数将 HTTP 请求发送到服务器上的特定 URL 下面是该函数的代码 它在外部 JavaScript 文件中声明 function MM goToU
  • HTML 或 JavaScript 是否有建议的最大行长度? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 大多数编程语言的大多数样式指南都建议最大行长度 通常为 80 个字符 对于 HTML 和 JavaScript 当它嵌入到 HTML 中时 来说
  • 请求在此上下文中不可用 -> 在 Global.asax 中 -> 替换什么

    为什么下面的行在 global asax 中有错误 string RelativeFilePath AbsoluteFilePath Replace Request ServerVariables APPL PHYSICAL PATH St
  • 对象不支持属性或方法“有效”

    我的代码抛出以下错误 对象不支持属性或方法 有效 这是因为当前表单没有验证 那没问题 我只想提前检查一下我是否可以应用该方法valid到当前表单以避免烦人的 JavaScript 错误 这就是我想要的 例如 if form isValida
  • Pandas read_csv 转换器 – 如何处理异常(literal_eval SyntaxError)

    在 Pandas DataFrame 中 我正在读取一个 csv 文件 如下所示 A B 0 t1 t2 1 t3 t4 其中两个单元格中有文字元组 其中两个单元格为空 df pd read csv my file csv dtype st
  • 这是 Linux 内核代码中的任何类型的宏吗?

    我在linux内核代码中找到了这个http gitorious org pandroid kernel omap blobs 5ed7607d45b300a37dd13ad1c79adea56f6687ce arch arm mach om
  • 在 R 中有效地插值网格中的值

    我有一个按位置排列的海洋深度数据网格 并且正在尝试为选定的 GPS 点插入深度值 我们一直在使用 RSAGA pick from points 它对于小数据集效果很好 require RSAGA depthdata lt cbind dat
  • 如何从 COCO 数据集创建掩模图像?

    所以我一直在使用这段代码 我正在尝试从 COCO 数据集中生成图像的原始蒙版 dataDir G dataType train2014 annFile annotations instances json format dataDir da
  • Java - 使用具体类型覆盖对象类型参数

    EDIT 我将把这个作为一个例子 请阅读评论以获取更多信息 但一般来说 不要使用此设计 这不好 我搜索答案有一段时间了 但找不到任何真正具体的说法 不 你不能 因为 或者是的 你可以 那就是你这样做的方式 所以问题是 我可以创建一个定义对象
  • 将 PHP 变量传递到 jQuery 函数

    我正在尝试为我的网站实现 jQuery Flare 视频插件 有一个下拉菜单 用户必须从中选择年份 当单击提交按钮时 视频将显示在屏幕上 我有一个数据库 可以从数据库中获取视频的路径 即 row videoName 我的问题是如何在 jQu
  • 将手势识别器/操作方法附加到视图会违反模型视图控制器吗?

    想问问大家对此的看法 我有一个 uiimageview 子类 在它的初始化程序中 我向 imageview 添加了一些手势识别器 并且还在类中包含了手势识别器委托方法 我的问题是 这是否违反模型视图控制器 所有与控制视图有关的代码都应该在视
  • Subversion 中的单个文件合并

    我正在使用 Subversion 1 5 并且在一个分支中有一个文件 我想将其合并到另一个分支中 当我做一个svn merge http path to file我收到一个错误 无法用 替换目录 这是否意味着 Subversion 无法做到
  • 如何将 document.getElementById 值转换为整数变量,而不是字符串?

    我想传递一个从 html 对象获得的值 将该值转换为整数 以便我可以在输出它之前对其进行算术运算 正如我现在的代码所示 它只是将它们像字符串一样添加起来 因此 值 5 修正值 100 最终等于 5100 而不是 105 这是我的表单代码
  • 实体框架 - 不同数据上下文中的“导航属性”?

    请注意 有人问了类似的问题 但我觉得没有得到回答 Entity Framework Code First 不同上下文 数据库之间的导航属性 https stackoverflow com questions 14340830 entity
  • 对象序列化__sleep

    php 手册指出 它可以清理物体并且是 应该返回一个数组 该对象的所有变量的名称 应该将其序列化 我的理解是 如果一个人上了一堂课 像这样 它只会序列化对象和属性
  • 如何设置androidcamera2预览和拍摄尺寸?

    我正在使用一个SurfaceView显示我捕获的预览 我想使用 width 1080 height 1920 进行预览 在哪里可以设置预览的大小 我用谷歌搜索答案 但它们都是针对相机版本一的 我正在使用 android hardware c
  • 使用c#备份和恢复Azure sql数据库

    我想将 Azure sql 数据库备份到本地系统 然后在 C 中将该备份恢复到 Azure sql 数据库 任何人都可以帮助我吗 可以这样做吗 Azure SQL 数据库不支持按需创建 bak 文件 Azure SQL 数据库自动备份所有数
  • 如何仅在一个事务中禁用 PostgreSQL 触发器?

    我需要在事务中临时禁用一个 PostgreSQL 触发器 但不需要硬锁定表 有人知道这是否可能吗 像这样的事情 无需锁定表并禁用此事务之外的触发器 BEGIN TRANSACTION ALTER TABLE foo DISABLE TRIG