postgresql 在postgres中将表移动到不同模式时出现锁问题

qv7cva1a  于 2023-05-17  发布在  PostgreSQL
关注(0)|答案(1)|浏览(166)

我想改变我的Postgres DB中的几个表的模式。问题是,总是有长时间运行的查询,并且据我所知,模式更改需要排他锁。
问题是我该怎么做当然,我可以杀死所有现有的查询,并尝试做模式重命名(移动表到不同的模式),但有一个巨大的机会,在此期间,新的查询将出现。
谢谢帮忙!

wkftcu5l

wkftcu5l1#

  • 在运行ALTER TABLE之前运行SELECT pg_backend_pid()
  • 启动ALTER TABLE语句
  • 在第二个数据库会话中,运行SELECT pg_blocking_pids(12345),其中12345是第一个查询的结果
  • 取消前面使用SELECT pg_cancel_backend(23456)查询时发现的所有阻塞事务

相关问题