pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Merlin Moncure <mmoncure@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Shashwat Arghode <shashwatarghode@gmail.com>
Cc: pgsql novice <pgsql-novice@postgresql.org>
Cc: pgsql-sql@postgresql.org
Subject: Re: Drop or disable or bypass "_return" rule on select on a view.
Date: Thu, 28 May 2015 09:17:38 -0500
Message-ID: <CAHyXU0wPyZjvyekSCf2s2AsefHFfwXY_HkNt_PnSM4jepF5CmQ@mail.gmail.com> (raw)
In-Reply-To: <10237.1432821213@sss.pgh.pa.us>
References: <CAGgbXsz-kN=j67bi93_38P0j3cFkJw61YnBZJC3LYGmM-LZj0A@mail.gmail.com>
	<10237.1432821213@sss.pgh.pa.us>
List-Unsubscribe: <mailto:majordomo@postgresql.org?body=unsub%20pgsql-novice>

On Thu, May 28, 2015 at 8:53 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Shashwat Arghode <shashwatarghode@gmail.com> writes:
>> I am using postgres 9.3.4 and have an on_select rule "_return" on a view.
>> I want to drop or disable or bypass that rule.
>> Is there any way it can be done without dropping the view??
>
> No.  I don't exactly see the point, either --- what do you imagine a view
> without an ON SELECT rule would be good for?
>
> Perhaps what you want is to replace the view with CREATE OR REPLACE VIEW,
> which is basically equivalent to updating its ON SELECT rule.  But simply
> dropping the rule without immediately replacing it would leave the view
> nonfunctional.

Yeah.  If disabling the view is truly what's desired, and disabling a
view is defined as returning no data, you'd want to change:

CREATE OR REPLACE VIEW v AS SELECT ....

with

CREATE OR REPLACE VIEW v AS SELECT .... LIMIT 0;

Another option of course would be to drop it, but that would require
dealing with dependencies.   Still another option would be to have any
query against the view return an immediate exception:

CREATE OR REPLACE VIEW v AS SELECT .... WHERE (SELECT false FROM Error('test'));

Error() being a thin wrapper to plpgsql 'raise exception'.

merlin


-- 
Sent via pgsql-novice mailing list (pgsql-novice@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-novice



view thread (8+ messages)  latest in thread

Message-ID: <CAHyXU0wPyZjvyekSCf2s2AsefHFfwXY_HkNt_PnSM4jepF5CmQ@mail.gmail.com>
Permalink:  ../CAHyXU0wPyZjvyekSCf2s2AsefHFfwXY_HkNt_PnSM4jepF5CmQ@mail.gmail.com/
Also on:    postgresql.org/message-id/CAHyXU0wPyZjvyekSCf2s2AsefHFfwXY_HkNt_PnSM4jepF5CmQ@mail.gmail.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: mmoncure@gmail.com, tgl@sss.pgh.pa.us, shashwatarghode@gmail.com, pgsql-novice@postgresql.org
  Subject: Re: Drop or disable or bypass "_return" rule on select on a view.
  In-Reply-To: <CAHyXU0wPyZjvyekSCf2s2AsefHFfwXY_HkNt_PnSM4jepF5CmQ@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox