On Mon, Dec 29, 2025 at 5:58 PM H <[email protected]> wrote:

> Just tried your suggestion to use format() but it resulted in a 'syntax
> error at or near "("'
>

Helps to show exactly what you tried.  I provided pseudo-code.

postgres=# \set sch 'schemaname'
postgres=# select format('%I.%I', :'sch', 'tblname');
       format
--------------------
 schemaname.tblname
(1 row)

Admittedly, if the names do require quoting, and depending on how the
function uses the value, some additional tweaking may be required.

There shouldn't be anything you cannot do with format that you can do with
pre-processing and setting the variable up-front.  Admittedly that is
probably cleaner overall anyway though.

David J.

Reply via email to