Thread: regression in CVS HEAD
Hi all, I'm seeing this on a fresh build from CVS: $ ./configure && make && make check ... $ cd src/test/regress/tmp_check $ ./install/tmp/pgsql/bin/postgres -D data regression LOG: database system was shut down at 2002-04-15 15:03:58 EDT LOG: checkpoint record is at 0/160368C LOG: redo record is at 0/160368C; undo record is at 0/0; shutdown TRUE LOG: next transaction id: 4551; next oid: 139771 LOG: database system is ready POSTGRES backend interactive interface $Revision: 1.260 $ $Date: 2002/03/24 04:31:07 $ backend> create table foo (c1 int); ERROR: invalid relation "foo"; system catalog modifications are currently disallowed backend> create schema x; backend> create table x.bar (c1 int); backend> Is this the expected behavior? I haven't been following the schema work very closely, but this was quite a surprise to me... Cheers, Neil -- Neil Conway <neilconway@rogers.com> PGP Key ID: DB3C29FC
Neil Conway <nconway@klamath.dyndns.org> writes: > POSTGRES backend interactive interface > $Revision: 1.260 $ $Date: 2002/03/24 04:31:07 $ > backend> create table foo (c1 int); > ERROR: invalid relation "foo"; system catalog modifications are currently disallowed > backend> create schema x; > backend> create table x.bar (c1 int); > backend> > Is this the expected behavior? It is at the moment but I'm planning to change it. Currently, a standalone backend defaults to pg_catalog being the target creation namespace, which is needed by initdb; but I was planning to make initdb explicitly set the search_path to pg_catalog, because it seems like a bad idea for pg_catalog to ever be the default target. In the meantime, try an explicitset search_path = 'public'; then "create table foo" would create public.foo which will be allowed. regards, tom lane
Neil Conway <nconway@klamath.dyndns.org> writes: > backend> create table foo (c1 int); > ERROR: invalid relation "foo"; system catalog modifications are currently disallowed I've committed a fix for this. BTW, I dunno about other developers, but I never use standalone backends for debugging. It's a lot nicer to open two windows, run a regular psql in one, and use the other to run gdb and "attach" to the backend process. regards, tom lane