首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何终止postgresql 8.3会话?

如何终止postgresql 8.3会话?
EN

Stack Overflow用户
提问于 2013-03-21 21:55:53
回答 2查看 7.8K关注 0票数 2

我正在尝试终止PostgreSQL8.3中的一个会话(一个特定会话或所有会话,都无关紧要),但我在做这件事时遇到了问题。我知道在较新的版本(8.4和更高版本)中有一个pg_terminate_backend命令可以做到这一点,但这在PostgreSQL8.3中是不可用的。如果我使用pg_stat_activity,我可以看到所有活动的会话,但无法终止它们。

解决方案不一定是sql命令,但我希望它独立于正在使用的操作系统(即没有DOS/UNIX命令)。

在windows服务中停止和启动postgres服务可以完美地工作,但这是一种特定于操作系统的方法。但是,使用“pg_ctl restart -D DATA_DIR”不会停止该服务。实际上,在我尝试使用pg_ctl并重新启动服务时,它会导致一些奇怪的行为。如果有一种方法可以像我假设的那样使用pg_ctl来强制关闭进程,那么我可能可以使用它。

无论如何,我正在寻找一种方法来终止PostgreSQL8.3中与平台无关的一个或所有会话。任何帮助都是最好的!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-21 21:59:12

您可以使用pg_cancel_backend():

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select pg_cancel_backend(55555);

您可以将其与pg_stat_activity一起使用。例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select pg_cancel_backend(procpid)
from pg_stat_activity where current_query='<IDLE>';

如果这不起作用,你可以试试这个:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pg_ctl kill -TERM pid

这应该是独立于操作系统的。我不确定在行为上是否有什么真正的区别。

除此之外,您可以尝试停止和启动服务器,但您从中发现了一些奇怪的行为。(哪种?)

最后,对于特定于操作系统的选项,在linux上当然可以尝试使用kill命令。kill -15 (SIGTERM)是安全的;这基本上就是pg_terminate_backend使用的:kill -15 <pid>kill -9 is moderately unsafe and you should use it only as a last resort

票数 7
EN

Stack Overflow用户

发布于 2015-04-21 12:12:46

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
su - posgres
psql


SELECT pg_terminate_backend(pg_stat_activity.procpid)  FROM  pg_stat_activity  WHERE  procpid <> pg_backend_pid()  AND datname = 'dbname' ;
drop database "database name";
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15558963

复制
相关文章
如何快速终止Linux进程
当你打开某个程序时,可能会遇到程序会锁死、停止运行、或者意外死机。你尝试再次运行该程序,系统反馈说原来的进程没有完全关闭。
丰一川
2018/08/16
3.6K0
Postgresql源码(73)两阶段事务PrepareTransaction事务如何与会话解绑(上)
两阶段事务提供的核心能力:一阶段提交的事务保证在二阶段提交时,可以正常提交。即使一阶段提交后,数据库宕机重启,都不会影响二阶段提交。这是普通事务不具备的能力,也是分布式事务全局提交依赖的功能。
mingjie
2022/09/23
5570
Postgresql源码(73)两阶段事务PrepareTransaction事务如何与会话解绑(上)
Postgresql源码(74)两阶段事务PrepareTransaction事务如何与会话解绑(下)
tag变了,用hash_update_hash_key更新主锁表LockMethodProcLockHash哈希表中的记录。
mingjie
2022/09/23
4830
Postgresql源码(74)两阶段事务PrepareTransaction事务如何与会话解绑(下)
8.3 链表
链表中每一个元素称为结点,每一个结点都包含两部分:一是用户需要用的实际参数,二是下一个结点的地址。
小林C语言
2019/08/09
3810
8.3 NtGlobalFlag
NtGlobalFlag 是一个Windows内核全局标记,在Windows调试方案中经常用到。这个标记定义了一组系统的调试参数,包括启用或禁用调试技术的开关、造成崩溃的错误代码和处理方式等等。通过改变这个标记,可以在运行时设置和禁用不同的调试技术和错误处理方式,比如调试器只能访问当前进程、只允许用户模式调试、启用特定的错误处理方式等等。但由于NtGlobalFlag标记是内核全局标记,其改变会影响整个系统的行为,需要谨慎处理。
微软技术分享
2023/09/26
2530
8.3 NtGlobalFlag
NtGlobalFlag 是一个Windows内核全局标记,在Windows调试方案中经常用到。这个标记定义了一组系统的调试参数,包括启用或禁用调试技术的开关、造成崩溃的错误代码和处理方式等等。通过改变这个标记,可以在运行时设置和禁用不同的调试技术和错误处理方式,比如调试器只能访问当前进程、只允许用户模式调试、启用特定的错误处理方式等等。但由于NtGlobalFlag标记是内核全局标记,其改变会影响整个系统的行为,需要谨慎处理。
微软技术分享
2023/10/11
1960
【JavaSE专栏87】线程终止问题,什么情况下需要终止线程,如何终止Java线程?
本文讲解了 Java 中线程终止的概念,讲解了如何终止 Java 线程,并给出了样例代码,线程终止是指线程的执行结束或被中断的过程,在终止线程时需要考虑线程安全性和资源释放的问题,线程应该在合适的时机进行清理和关闭,以避免资源泄漏和数据一致性问题。
Designer 小郑
2023/08/27
6570
【JavaSE专栏87】线程终止问题,什么情况下需要终止线程,如何终止Java线程?
通过浏览器使用WebRTC时会话终止或断开都是什么原因?
WebRTC现在已经成为了W3C的正式标准,提供具有NAT遍历功能的次秒级的点对点视频和音频流。次秒级延迟已经被广泛应用于视频会议之中,也一直是视频流公司的焦点,目前我们已经在EasyGBS平台内实现了webrtc视频的播放,如下图:
TSINGSEE青犀视频
2021/07/08
2.1K0
通过浏览器使用WebRTC时会话终止或断开都是什么原因?
Yarn运行中的任务如何终止?
我们的作业是使用yarn来调度的,那么肯定就需要使用相关的命令来进行管理,简单的有查询任务列表和killed某一个正在运行中的任务。
大数据真好玩
2021/03/30
7.4K0
Yarn运行中的任务如何终止?
8.3 串口读写
何谓串口?串口就是一个计算机接口,用于数据通信,例如计算机。老一点的PC和笔记本都有串口,工控机一般配置有串口,如果没有可以到淘宝上买USB-串口转换器。
周星星9527
2019/04/26
2.8K0
8.3 串口读写
8.3 入口函数
通常高级语言程序中只有一个入口函数,不过由于着色程序分为顶点程序和片断程序,两者对应着图形流水线上的不同阶段,所以这两个程序都各有一个入口函数。
代码咖啡
2018/09/29
1.1K0
漫谈如何终止 JS 程序的运行
最近在开发一个 JSSDK 的时候有一个需求:为了检测当前环境中是否已经加载过该脚本,需要在脚本开始运行时加入一层判断,如果检测到已存在该脚本导出的变量,则终止脚本的后续运行,否则再执行后续逻辑。 那么便碰上了本文标题的问题:如何终止 JS 程序的运行?
逆葵
2019/04/25
7.8K0
漫谈如何终止 JS 程序的运行
每日学术速递8.3
1.Predicting masked tokens in stochastic locations improves masked image modeling
AiCharm
2023/09/06
1410
每日学术速递8.3
如何使用SMBSessionSpoofer伪造SMB会话
 关于SMBSessionSpoofer  SMBSessionSpoofer是一款针对SMB会话的安全工具,该工具可以帮助广大研究人员轻松创建出一个伪造的SMB会话,并以此来欺骗攻击者访问和进入蜜罐设备。该工具虽然结构简单,但功能强大,我们只需要将其cpp主程序文件下载下来,并在Visual Studio 2019中进行编译后,即可上手使用。  工具机制  当攻击者运行SharpHound并收集目标组织中的会话信息时,会根据自己的经验来分析针对目标主体的攻击路径,并且还可以识别在第二层基础设施(工作站)中
FB客服
2023/03/30
2.5K0
如何使用SMBSessionSpoofer伪造SMB会话
如何修改CDSW会话的时区
无论我们的CDSW服务器上设置的为什么时区,CDSW中启动的会话默认时区为UTC,与我们的时区不一致影响使用。本篇文章Fayson主要介绍如何为CDSW的会话设置时区。
Fayson
2018/11/16
1.2K0
TCP连接是如何建立和终止的?
服务器在客户端建立连接时刚好断电。可以看出客户端进行了重试,但是重试之间的时间间隔第一次是5.81秒,而第二次间隔是24.00秒。
爬蜥
2019/07/08
1.7K0
TCP连接是如何建立和终止的?
如何“优雅”地终止一个线程?
我们的系统肯定有些线程为了保证业务需要是要常驻后台的,一般它们不会自己终止,需要我们通过手动来终止它们。我们知道启动一个线程是start方法,自然有一个对应的终止线程的stop方法,通过stop方法可以很快速、方便地终止一个线程,我们来看看stop的源代码。 通过注解@Deprecated看出stop方法被标为废弃的方法,jdk在以后的版本中可能被移除,不建议大家使用这种API。 那为什么这么好的一个方法怎么不推荐使用,还要标注为废弃呢? 假设有这样的一个业务场景,一个线程正在处理一个复杂的业务流程
Java技术栈
2018/03/30
1.4K0
如何封装一个可以终止的Promise
今天被同事问到如何中止Promise调用链,按照官方文档的意思,原生的Promise是不能被中止的,但是我们可以对其进行小小的改造,封装一个可以被"中止"的Promsie。代码如下:
挥刀北上
2020/07/10
1.6K0
8.3 通过指针引用数组
1、指针变量既可以指向变量,也可以指向数组元素。所谓数组元素的指针就是数组元素的地址。
小林C语言
2019/07/12
9120
点击加载更多

相似问题

终止postgresql会话/连接

244

如何终止Google中用于PostgreSQL的会话?

20

PostgreSQL 8.3上的Bigint

22

如何在PostgreSQL 8.3中重写查询

17

无法终止Postgresql DB上的活动会话

133
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文