You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL中基于内连接跨表复制数据遇执行停滞问题

跨Schema更新语句长时间无响应的临时解决办法

我最近碰到了一个有点棘手的数据库问题,分享下我的经历和解决思路:

我有两个独立的数据库schema:bikeshare(里面有bs表)和spatial(里面有docks表),两张表可以通过bikeshare.bs.start_dock_code和spatial.docks.id做关联——之前执行内连接查询完全没问题:

SELECT * FROM bikeshare.bs INNER JOIN spatial.docks ON bikeshare.bs.start_dock_code = spatial.docks.id;

后来我需要把spatial.docks表中的asumi_nr字段值同步到bikeshare.bs表的neighbourhood_code字段,就写了这条更新语句:

UPDATE bikeshare.bs SET neighbourhood_code = spatial.docks.asumi_nr FROM spatial.docks WHERE bikeshare.bs.start_dock_code = spatial.docks.id;

结果这条语句既不报错,也不执行完成,一直卡在“等待查询完成”的状态,我足足等了30多分钟都没动静。

试了各种排查方向(比如检查锁表状态、索引有效性)都没找到根因,最后抱着试试看的心态重装了整个数据库,没想到重装之后再执行这条更新语句,居然秒级完成了!

虽然我至今没搞清楚到底是数据库的什么底层问题导致的卡死,但作为新手,这个“笨办法”确实解决了我的燃眉之急,分享出来给遇到类似情况的小伙伴做个参考。

内容的提问来源于stack exchange,提问作者SpatialAnalyst

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 18:38:14