Oddity in column specifications for table creation
| От | Marc Munro |
|---|---|
| Тема | Oddity in column specifications for table creation |
| Дата | |
| Msg-id | 1197402045.27581.12.camel@bloodnok.com обсуждение исходный текст |
| Ответы |
Re: Oddity in column specifications for table creation
|
| Список | pgsql-general |
It seems that in create table I cannot specify the schema of a built-in
type that has a length specifier. Nor can I double-quote the type name.
Is this correct/expected behaviour, and are there work-arounds?
This works fine:
create table "public"."additional" (
"str1" "pg_catalog"."text" not null,
"str2" "pg_catalog"."varchar"
);
This does not:
create table "public"."additional" (
"str1" "pg_catalog"."text" not null,
"str2" "pg_catalog"."varchar"(40)
);
ERROR: syntax error at or near "("
LINE 3: "str2" "pg_catalog"."varchar"(40)
Or this:
create table "public"."additional" (
"str1" "pg_catalog"."text" not null,
"str2" "pg_catalog".varchar(40)
);
ERROR: syntax error at or near "("
LINE 3: "str2" "pg_catalog".varchar(40)
Or this:
create table "public"."additional" (
"str1" "pg_catalog"."text" not null,
"str2" pg_catalog.varchar(40)
);
ERROR: syntax error at or near "("
LINE 3: "str2" pg_catalog.varchar(40)
But this does:
create table "public"."additional" (
"str1" "pg_catalog"."text" not null,
"str2" varchar(40)
);
For now, I will simply not quote or schema-specify anything from
pg_catalog (though I guess I should force the search path to only
include pg_catalog in this case) but I find the limitation kinda odd.
This is in 8.1 and 8.2
__
Marc
Вложения
В списке pgsql-general по дате отправления: