I'm a noob to Postgres, and am setting up a multi-tenant database using one schema per tenant.
To target each tenant I need to set search_path accordingly.
I'm worried about accidentally executing something intended for one tenant on another tenant, if the wrong search path is picked up somehow.
I will be executing Functions from .Net code (via NpgSql). The functions will reside in the public schema. Each function will have the search path set inside it, like so:
PERFORM set_config('search_path', tenant, true);
Is there any danger, via concurrency or connection pooling, that the search paths for two calls might be shared, for instance if the 'true' parameter was forgotten or set to false.
I really want to be sure that there's no danger of data from one tenant crossing over in to another.
Thanks in advance.