I have an application which processes logical replication output from a PostgreSQL server. We create publications and read data from a replication slot with the pgoutput plugin.
Currently, I process Relation messages to get most of the information I need to work with Inserts, Updates, and Deletes. However, for type information I'm currently using a SQL query to get the column type information. I wanted to use the Type messages, but I never see them. I see Begin, Commit, etc. but never Type.
When are the Type messages generated and sent by the server?
Is there a way to cause them to be generated?
Are these type id > type mappings set in stone, or does PostgreSQL allow for a server to have custom types (I notice that namespace is one of the properties sent with the types)?