summaryrefslogtreecommitdiff
path: root/src/backend/commands/analyze.c
diff options
context:
space:
mode:
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>2023-12-08 09:16:21 +0200
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>2023-12-08 09:16:21 +0200
commit049ef3398d05c9dc8f48aa9a6d68440661cfeb87 (patch)
tree718bb792e696864fc04cf9717daea0f0e798e722 /src/backend/commands/analyze.c
parentcd7f19da34684b7b12fdc08511c5ce7bebb09419 (diff)
Don't try to open visibilitymap when analyzing a foreign table
It's harmless, visibilitymap_count() returns 0 if the file doesn't exist. But it's also very pointless. I noticed this when I added an assertion in smgropen() that the relnumber is valid. Discussion: https://www.postgresql.org/message-id/621a52fd-3cd8-4f5d-a561-d510b853bbaf@iki.fi
Diffstat (limited to 'src/backend/commands/analyze.c')
-rw-r--r--src/backend/commands/analyze.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/backend/commands/analyze.c b/src/backend/commands/analyze.c
index e264ffdcf28..1f4a9516814 100644
--- a/src/backend/commands/analyze.c
+++ b/src/backend/commands/analyze.c
@@ -634,7 +634,10 @@ do_analyze_rel(Relation onerel, VacuumParams *params,
{
BlockNumber relallvisible;
- visibilitymap_count(onerel, &relallvisible, NULL);
+ if (RELKIND_HAS_STORAGE(onerel->rd_rel->relkind))
+ visibilitymap_count(onerel, &relallvisible, NULL);
+ else
+ relallvisible = 0;
/* Update pg_class for table relation */
vac_update_relstats(onerel,