Обсуждение: pgsql: Give a more user-friendly error message in situation where CREATE

Поиск
Список
Период
Сортировка

pgsql: Give a more user-friendly error message in situation where CREATE

От
tgl@svr1.postgresql.org (Tom Lane)
Дата:
Log Message:
-----------
Give a more user-friendly error message in situation where CREATE DATABASE
specifies a new default tablespace and the template database already has
some tables in that tablespace.  There isn't any way to solve this fully
without modifying the clone database's pg_class contents, so for now the
best we can do is issue a better error message.

Modified Files:
--------------
    pgsql/src/backend/commands:
        dbcommands.c (r1.144 -> r1.145)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/dbcommands.c.diff?r1=1.144&r2=1.145)
        tablespace.c (r1.11 -> r1.12)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/tablespace.c.diff?r1=1.11&r2=1.12)
    pgsql/src/include/commands:
        tablespace.h (r1.5 -> r1.6)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/commands/tablespace.h.diff?r1=1.5&r2=1.6)

Re: pgsql: Give a more user-friendly error message in situation

От
Bruce Momjian
Дата:
Open items list updated for this fix and previous tablespace fix, and
new TODO item added:

* Allow a database in tablespace t1 with tables created in tablespace t2
  to be used as a template for a new database created with default
  tablespace t2

  All objects in the default database tablespace must have default tablespace
  specifications.  This is because new databases are created by copying
  directories.  If you mix default tablespace tables and tablespace-specified
  tables in the same directory, creating a new database from such a mixed
  directory would create a new database with tables that had incorrect
  explicit tablespaces.  To fix this would require modifying pg_class in the
  newly copied database, which we don't currently do.


---------------------------------------------------------------------------

Tom Lane wrote:
> Log Message:
> -----------
> Give a more user-friendly error message in situation where CREATE DATABASE
> specifies a new default tablespace and the template database already has
> some tables in that tablespace.  There isn't any way to solve this fully
> without modifying the clone database's pg_class contents, so for now the
> best we can do is issue a better error message.
>
> Modified Files:
> --------------
>     pgsql/src/backend/commands:
>         dbcommands.c (r1.144 -> r1.145)
>         (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/dbcommands.c.diff?r1=1.144&r2=1.145)
>         tablespace.c (r1.11 -> r1.12)
>         (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/commands/tablespace.c.diff?r1=1.11&r2=1.12)
>     pgsql/src/include/commands:
>         tablespace.h (r1.5 -> r1.6)
>         (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/commands/tablespace.h.diff?r1=1.5&r2=1.6)
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
>       subscribe-nomail command to majordomo@postgresql.org so that your
>       message can get through to the mailing list cleanly
>

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073