什么是“不可移动的行版本”?

Ant*_*min 2 postgresql vacuum

我对 postgresql-9.4 数据库进行了完全真空,并且我有很多具有不可移动行版本的表。我想知道这些是什么或者我可以在哪里阅读它们。

INFO:  vacuuming "public.profile_generals"
INFO:  "profile_generals": found 0 removable, 654 nonremovable row versions in 51 pages
DETAIL:  0 dead row versions cannot be removed yet.
Run Code Online (Sandbox Code Playgroud)

Cra*_*ger 7

他们是你的数据。您可能不想删除它们;)

“不可移动行版本”包括包含您关心的数据的当前活动行版本。它还包括因删除或更新而过时的行版本,但对一个或多个正在运行的事务的快照仍然可见。

您应该只关心是否有很多不可移动的行版本。这里情况不同。要了解更多信息,请阅读日常清理手册、并发和 MVCC 一章,并阅读有关表膨胀的内容。