Received: from cygnus.com (runyon.sfbay.redhat.com [205.180.230.5] (may be forged)) by postgresql.org (8.11.3/8.11.4) with SMTP id g0MLR6l02610 for ; Tue, 22 Jan 2002 16:27:06 -0500 (EST) (envelope-from fnasser@redhat.com) Received: from redhat.com (rtl.sfbay.redhat.com [205.180.230.21]) by runyon.cygnus.com (8.8.7-cygnus/8.8.7) with ESMTP id NAA14337; Tue, 22 Jan 2002 13:27:00 -0800 (PST) Message-ID: <3C4DD909.F26FD0D1@redhat.com> Date: Tue, 22 Jan 2002 16:26:33 -0500 From: Fernando Nasser Organization: Red Hat Canada X-Mailer: Mozilla 4.78 [en] (X11; U; Linux 2.4.9-13 i686) X-Accept-Language: en MIME-Version: 1.0 To: Tom Lane CC: Peter Eisentraut , pgsql-hackers@postgresql.org Subject: Re: RFD: schemas and different kinds of Postgres objects References: <12239.1011661590@sss.pgh.pa.us> <3C4D8A39.FF79CDC4@redhat.com> <15339.1011716171@sss.pgh.pa.us> <3C4D96C5.80BBF764@redhat.com> <15638.1011718290@sss.pgh.pa.us> <3C4DCBDB.689D7201@redhat.com> <28199.1011732109@sss.pgh.pa.us> <3C4DD34F.CC4D8B6@redhat.com> <28557.1011734056@sss.pgh.pa.us> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Archive-Number: 200201/998 X-Sequence-Number: 17988 Tom Lane wrote: > > Fernando Nasser writes: > > Switches set to historical: > > > schema search path = (user's own schema, "any" schema, postgres) > > > [ default creation schema = user's own schema ] > > > The searching in "any" schema (i.e., any owner) will let will find > > things that where defined the way they are today, i.e., possibly > > by several different users. > > No, it won't, because nothing will ever get put into that schema. > (At least not by existing pg_dump scripts, which are the things that > really need to see the historical behavior.) The > default-creation-schema variable has got to point at any/public/ > whatever-we-call it, or you do not have the historical behavior. > You did not understand what I meant by "any". It is not a schema called "any". It is _any_ schema. Example: A creates a table (do not specify the schema) so it gets into the schema named A (as per standard). B refers to the table without qualifying it... In the standard case: look into schema B (=> not found), not in postgres either. ERROR: Inv. relation As the standard requires. In the historical mode: look into schema B (=> not found), look into ANY schema (finds it in A). Works as it is today. Note that I only suggest looking in B first (in the historical case) because this will allow for the coexistence of the current mode with a quasi-compliant use of SQL-Schemas. You only need to change the switch if you want strict compliance. -- Fernando Nasser Red Hat Canada Ltd. E-Mail: fnasser@redhat.com 2323 Yonge Street, Suite #300 Toronto, Ontario M4P 2C9