【发布时间】:2018-09-05 03:49:19
【问题描述】:
我是第一次使用 Postgres,并进行了一些试验。我有一个使用此查询创建的表:
CREATE TABLE test(
id SERIAL,
name int NOT NULL,
PRIMARY KEY (id)
);
我正在尝试使用此查询重置id 列的序列(在清空所有当前数据的表之后):
ALTER SEQUENCE test_id_seq RESTART WITH 1;
但是当我运行这个查询时,它会无限期地运行。我之前运行的所有查询都在几毫秒内完成,但在我杀死它之前已经运行了 3 分钟以上。我应该做些什么不同
【问题讨论】:
-
您使用的是 10.1 版吗?由于使序列更新成为事务性postgresql-archive.org/…,显然存在一个序列重置非常慢的错误
-
我使用的是 10.5 版本,我将查看该链接中的解决方案,看看是否能解决问题
-
通读该线程后,我并不完全清楚应该如何更改查询以解决该问题。我对 SQL 没有非常深入的了解,主要只是设置和管理表。我可以就如何修改原始帖子中的查询获得一些指导吗?
-
也许它在等待一个锁。你检查了
pg_stat_activity(来自不同的会话) -
我不认为这是一个锁,因为我仍然能够毫无延迟地运行其他查询,似乎只是这个特定的命令有问题。
标签: postgresql