我们在后端使用 https://github.com/go-gorm/gorm/ ORM和脚本来连接到我们的PostgreSQL数据库。
有时,当脚本正在编写过程中时,我们通过按本地或杀死生产中的 pod /进程来手动终止作业。我们在所有脚本中都有一个,我还添加了处理SIGINT / SIGTERM信号以在kill上执行。Ctrl + C
defer DB.Close()
DB.Close()
问题是,即使在关闭连接后,任何已经运行的现有查询也不会被终止并继续消耗数据库资源。有没有办法在直接从gorm退出或通过其他黑客退出之前杀死由此连接池启动的任何查询。
想到使用 和 终止查询 使用 ,但是我们在运行新查询时获得的 pid 将与正在运行的查询不同。pg_backend_pid()
pg_stat_activity
pg_backend_pid()
版本:jinzhu/gorm v1.9.2
慕后森
相关分类