Reference a schema from public table column
You can store everything in public.messages, add column that describes the actual schema and make views in every schema, that are selecting only messages that needs to be visible in particular schema.
Depending on you needs you can create rules on views for data modification, partition that big table, add row level security.