I know how tedious mails with a subject of the type "I don't understand what the planner does" are, but on this one I'm really stumped. Regrettably, the situation is also a bit complex. Hopefully, someone will bear with me.
So, in a PostgreSQL 15.12 I have a view over a single table with ~20 columns (the only relevant columns here are the ones that somehow contain "pub[lisher]_did", the others are just there for context; I'm going to call these "pubdids" from here on in the prose):
[snip]
Is there anything that would explain that behaviour given I've switched off the genetic optimiser and postgres has hopefully exhaustively searched the space of plans in both cases?
Are the tables regularly analyzed and vacuumed? (The default autovacuum analyze threshold of 20% is pretty high.)