preventing ALTER TABLE RENAME from changing view definitions? - Mailing list pgsql-general

From George Pavlov
Subject preventing ALTER TABLE RENAME from changing view definitions?
Date
Msg-id 8C5B026B51B6854CBE88121DBF097A868C4D14@ehost010-33.exch010.intermedia.net
Whole thread Raw
In response to Most efficient report of number of records in all tables?  ("D. Dante Lorenso" <dante@lorenso.com>)
Responses Re: preventing ALTER TABLE RENAME from changing view definitions?  (Richard Huxton <dev@archonet.com>)
Re: preventing ALTER TABLE RENAME from changing view definitions?  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
Currently "ALTER TABLE ... RENAME TO ..." results in all views that
refer to the table to be rewritten with the new table name. This is a
good thing in the general case, but there are also situations where it
is not (e.g. temporarily renaming tables for data reorg reasons). I
can't seem to find a clean way to only rename the table without causing
change to the view. The ONLY keyword does not work in this case.
Anything I am missing (short of re-creating all views). I am on 8.1.

test=> create table a (col int);
CREATE TABLE
test=> create view v_a as select col from a;
CREATE VIEW
test=> \d v_a
      View "public.v_a"
 Column |  Type   | Modifiers
--------+---------+-----------
 col    | integer |
View definition:
 SELECT a.col
   FROM a;

test=> alter table a rename to b;
ALTER TABLE
test=> \d v_a
      View "public.v_a"
 Column |  Type   | Modifiers
--------+---------+-----------
 col    | integer |
View definition:
 SELECT a.col
   FROM b a;

pgsql-general by date:

Previous
From: "D. Dante Lorenso"
Date:
Subject: Most efficient report of number of records in all tables?
Next
From: "Dann Corbit"
Date:
Subject: Re: Most efficient report of number of records in all tables?