I have a user-defined GUC variable that was set at the db level. e.g.,
ALTER DATABASE mydb SET myapp.user_id TO '1'
Works fine. When I do a pg_dump, however, that variable isn't included. Is that expected? It's not really an attribute of the database?
That sort of information *about the database* is stored at the cluster level, not in the database itself. Take a look at pg_dumpall.
[snip]
If I am looking to recreate a database I am not getting the same one. At the least it should be accessible via pg_dumpall -g so you could do individual database dumps and get the database guc without having to dump the entire cluster.
Yes, that's exactly what bit me. I was trying to figure out why a restore of a db was failing all tests, and discovered the missing GUCs in the dump.
There may be reasons for it living at the cluster level, but I suspect most users will expect pg_dump to include them.