diff options
author | Heikki Linnakangas <heikki.linnakangas@iki.fi> | 2023-12-08 09:16:21 +0200 |
---|---|---|
committer | Heikki Linnakangas <heikki.linnakangas@iki.fi> | 2023-12-08 09:16:21 +0200 |
commit | 049ef3398d05c9dc8f48aa9a6d68440661cfeb87 (patch) | |
tree | 718bb792e696864fc04cf9717daea0f0e798e722 /src/backend/commands/analyze.c | |
parent | cd7f19da34684b7b12fdc08511c5ce7bebb09419 (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.c | 5 |
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, |