Ivan Sergio Borgonovo <mail@xxxxxxxxxxxxxxx> writes: > Horde (webmail and more) is not anymore compatible with postgresql 12 > after pg_attrdef was dropped. We didn't drop the whole catalog, just the adsrc column, which has been deprecated for ages (because it didn't update to track, eg, column renamings). The correct substitute for adsrc is pg_get_expr(adbin,adrelid) which reconstructs an up-to-date text form from the authoritative data. I see that the v12 release notes fail to suggest this replacement, which seems unhelpful ... I'll go add that. Having said that, it looks like query (1) should never have been written like this in the first place --- trying to pull bits out of the text representation of a default expression seems horribly fragile. I think what it's trying to do is identify serial columns? The right way to do that is to look for pg_depend entries that link a serial sequence to its owning column. I don't have an example right to hand, but I'm sure there is an instance in pg_dump, and probably elsewhere. regards, tom lane