From: | Melvin Davidson <melvin6925(at)gmail(dot)com> |
---|---|
To: | Jeff Janes <jeff(dot)janes(at)gmail(dot)com> |
Cc: | "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Extension to rewrite queries before execution |
Date: | 2015-08-13 20:37:46 |
Message-ID: | CANu8Fiyuz6Q3DN_wPPfvxx215ZEZ3c4KRcsYtVOu8AGrdgaP3A@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
You have not stated which Version or PostgreSQL, nor the O/S involved. That
being said, depending on what the specific query is, you might consider
using a Rule or Trigger to handle it. If you use a Trigger ( which is the
preferred method) you can also embed "set" commands the associated function.
On Thu, Aug 13, 2015 at 3:49 PM, Jeff Janes <jeff(dot)janes(at)gmail(dot)com> wrote:
> I am looking for an extension or a technique that will allow me to
> intercept a query by the exact query text, and replace that query with a
> different one.
>
> The context is running a third-party app which issues queries I have no
> control over. I'd like to intercept a specific query (which has no bind
> parameters) and either replace the query text with a different text which,
> for example, swaps out an "in list" clause to instead be an "exists
> (subquery)".
>
> Or just wrap the query in a "set enable_* =off;" or "set work_mem=*;"
> before and a reset of it after.
>
> Is there anything out there like this? This would be for 9.4.
>
> I'm willing to put the query text, and its replacement, directly into the
> extension source code and compile it, but of course something more flexible
> would be ideal.
>
> Thanks,
>
> Jeff
>
--
*Melvin Davidson*
I reserve the right to fantasize. Whether or not you
wish to share my fantasy is entirely up to you.
From | Date | Subject | |
---|---|---|---|
Next Message | Adrian Klaver | 2015-08-13 21:02:15 | Re: Extension to rewrite queries before execution |
Previous Message | twoflower | 2015-08-13 20:33:36 | Re: SELECT blocks UPDATE |