Re: BUG #8405: user can create a system table(eg, pg_class)

Поиск
Список
Период
Сортировка
Искать
От
Heikki Linnakangas
Тема
Re: BUG #8405: user can create a system table(eg, pg_class)
Дата
Msg-id
521E16CF.3040200@vmware.com
Ответ на
Список
Дерево обсуждения
BUG #8405: user can create a system table(eg, pg_class) syxjxia@gmail.com
Re: BUG #8405: user can create a system table(eg, pg_class) Heikki Linnakangas <hlinnakangas@vmware.com>
On 28.08.2013 05:01, syxjxia@gmail.com wrote:
> postgres=# create table pg_class(a int);
> CREATE TABLE
> postgres=# insert into pg_class values (1);
> ERROR:  null value in column "relnamespace" violates not-null constraint
> DETAIL:  Failing row contains (1, null, null, null, null, null, null, null,
> null, null, null, null, null, null, null, null, null, null, null, null,
> null, null, null, null, null, null, null).

That's not a bug. The table created is in the public schema, while all 
the system tables are in pg_catalog schema. Yes, it's possible to create 
a table in another schema with the same name. To avoid hijacking 
applications that access the system tables, pg_catalog is implicitly in 
front of search_path, if it's not listed there explicitly. So when you 
do the insert, it refers to pg_catalog.pg_class.

- Heikki
В списке pgsql-bugs по дате отправления
От: syxjxia@gmail.com
Дата:
От: Pius Chan
Дата:
FAQ