| From: | H <agents(at)meddatainc(dot)com> |
|---|---|
| To: | pgsql-general(at)lists(dot)postgresql(dot)org |
| Subject: | Re: Combining metavariables and table names |
| Date: | 2025-12-30 01:01:21 |
| Message-ID: | 60F4B5CE-F983-4174-A141-0C755284CDFD@meddatainc.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
On December 28, 2025 10:41:19 PM EST, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>"David G. Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> writes:
>> On Sunday, December 28, 2025, H <agents(at)meddatainc(dot)com> wrote:
>>> I have a feeling I might be missing how to use the combination of a
>>> metavariable and a table name when used in an argument to a
>procedure.
>
>> No, what you are doing is impossible if you limit yourself to direct
>SQL
>> command syntax writing.
>
>Yeah :-(
>
>> I’d probably do something like:
>> versioning(…, format(‘%I.%I’, :’s’, ‘test_history’), …)
>
>The reason this is hard is that we don't support expressions in
>CREATE TRIGGER, only simple literals. So any such processing would
>have to be done in the client-side code that is sending the command,
>and I don't think psql's variable-substitution ability is quite up
>to the job.
>
>You might be able to make it work through the hacky method of
>supplying the schema name and table name as separate trigger
>arguments.
>
>Another idea could be to construct the desired string as a SELECT
>result, and then use \gexec. There's a few too many moving parts
>in that for my taste, but maybe it could work.
>
> regards, tom lane
That would explain it! I now see that when I read the CREATE TRIGGER documentation.
I will use the workaround I found, ie. generating a literal string in another meta variable. It would be nice if this would be considered a request for an enhancement?
| From | Date | Subject | |
|---|---|---|---|
| Next Message | David G. Johnston | 2025-12-30 01:17:37 | Re: Combining metavariables and table names |
| Previous Message | H | 2025-12-30 00:58:06 | Re: Combining metavariables and table names |