On Sunday, April 21, 2024, Norbert Sándor <sandor.norb...@erinors.com> wrote: > > > The structure of each schema is identical, the tenant ID is the name of > the schema. > You’ve hit the main reason why the scheme you choose is usually avoided. Better to just add tenant_id to your tables in the first place. And use partitioned tables if you desire physical separation.
> The above solution seems to work, my questions are: > > 1. Is there a better way to achieve the same functionality? Maybe > without using JSON as an intermediate representation? > > In-database, I doubt it (though I didn’t study your specific solution in depth). Json provides the easiest way to generate the virtual tables you need. Otherwise maybe try something with say bash scripting and psql scripts; or some other client-side setup where you separate the query and the metadata lookups so the queries just return normal results and the client takes them are merges them. David J.