From: Tavis Rudd <tavis@redonions.net>
To: bugs@postgresql.org
Subject: bug report: view renames and permissions
Date: Mon, 3 Mar 2003 17:28:56 -0800
User-Agent: KMail/1.5
MIME-Version: 1.0
Content-Type: Multipart/Mixed;
  boundary="Boundary-00=_YFAZ+HDtkDNw7I4"
Message-Id: <200303031728.56117.tavis@redonions.net>
Status: RO
X-Status: S
X-KMail-EncryptionState: 
X-KMail-SignatureState: 
X-UID: 3431

--Boundary-00=_YFAZ+HDtkDNw7I4
Content-Type: text/plain;
  charset="us-ascii"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Subject: 

SUMMARY: renaming a view doesn't update all records of the view's name
and thus leads to errors in with pg_aclcheck when the view is accessed
using its new name by any user other than the superuser.

see attachment for more 
--Boundary-00=_YFAZ+HDtkDNw7I4
Content-Type: text/plain; charset="us-ascii"; name="view_rename_bug.email"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="view_rename_bug.email"

If PostgreSQL failed to compile on your computer or you found a bug that
is likely to be specific to one platform then please fill out this form
and e-mail it to pgsql-ports@postgresql.org.

To report any other bug, fill out the form below and e-mail it to
pgsql-bugs@postgresql.org.

If you not only found the problem but solved it and generated a patch
then e-mail it to pgsql-patches@postgresql.org instead.  Please use the
command "diff -c" to generate the patch.

You may also enter a bug report at http://www.postgresql.org/ instead of
e-mail-ing this form.

============================================================================
                        POSTGRESQL BUG REPORT TEMPLATE
============================================================================


Your name		:	Tavis Rudd
Your email address	:	tavis@wolfbioscience.com


System Configuration
---------------------
  Architecture (example: Intel Pentium)  	:   Intel Pentium

  Operating System (example: Linux 2.0.26 ELF) 	:   Linux 2.4.18-24.7.x, (Red Hat Linux 7.2 2.96-112.7.2)

  PostgreSQL version (example: PostgreSQL-7.2.2):   PostgreSQL-7.2.2

  Compiler used (example:  gcc 2.95.2)		:   gcc version 2.96 20000731



Please enter a FULL description of your problem:
------------------------------------------------

SUMMARY: renaming a view doesn't update all records of the view's name 
and thus leads to errors in with pg_aclcheck when the view is accessed 
using its new name by any user other than the superuser.

We have a db which is owned by a non-superuser account.  In that db was 
a view called practice_stats_totals.  As that user we renamed a view:
  ALTER TABLE practice_stats_totals RENAME TO view_practice_totals

Subsequent attempts to query the view using its new name failed:
  > select * from view_practice_totals;
  ERROR: pg_aclcheck: class "practice_stats_totals" not found
unless we ran this query from the 'postgres' superuser account.
Granting the non-superuser account all privileges on this view made 
no difference.

echo 'select * from pg_rewrite' | psql our_db | grep practice_stats_totals
shows that there's still some record of it in there.

Our work-around was to drop the view and recreate it.


Please describe a way to repeat the problem.   Please try to provide a
concise reproducible example, if at all possible: 
----------------------------------------------------------------------





If you know how this problem might be fixed, list the solution below:
---------------------------------------------------------------------



--Boundary-00=_YFAZ+HDtkDNw7I4--
