Обсуждение: BUG #18065: An error occurred when attempting to add a column of type "vector" to a table named "vector".

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

BUG #18065: An error occurred when attempting to add a column of type "vector" to a table named "vector".

От
PG Bug reporting form
Дата:
The following bug has been logged on the website:

Bug reference:      18065
Logged by:          kaijian xu
Email address:      a17764530215@gmail.com
PostgreSQL version: 15.3
Operating system:   Debian GNU/Linux 11
Description:

When I run:
create table if not exists "vector" ();
alter table "vector" add column if not exists "fz_vector1_embedding"
vector(1536);

I got an error:
ERROR:  type modifier is not allowed for type "vector"
LINE 1: ..." add column if not exists "fz_vector1_embedding" vector(153...


Re: BUG #18065: An error occurred when attempting to add a column of type "vector" to a table named "vector".

От
"David G. Johnston"
Дата:


On Tuesday, August 22, 2023, PG Bug reporting form <noreply@postgresql.org> wrote:
The following bug has been logged on the website:

Bug reference:      18065
Logged by:          kaijian xu
Email address:      a17764530215@gmail.com
PostgreSQL version: 15.3
Operating system:   Debian GNU/Linux 11
Description:       

When I run:
create table if not exists "vector" ();
alter table "vector" add column if not exists "fz_vector1_embedding"
vector(1536);

I got an error:
ERROR:  type modifier is not allowed for type "vector"
LINE 1: ..." add column if not exists "fz_vector1_embedding" vector(153...


You are in the wrong place, core doesn’t have this type.

David J.
 
"David G. Johnston" <david.g.johnston@gmail.com> writes:
> On Tuesday, August 22, 2023, PG Bug reporting form <noreply@postgresql.org>
> wrote:
>> When I run:
>> create table if not exists "vector" ();
>> alter table "vector" add column if not exists "fz_vector1_embedding"
>> vector(1536);
>> I got an error:
>> ERROR:  type modifier is not allowed for type "vector"
>> LINE 1: ..." add column if not exists "fz_vector1_embedding" vector(153...

> You are in the wrong place, core doesn’t have this type.

I think it's basically a search path problem: the table's composite type
"vector" is masking the extension's type.  Try schema-qualifying "vector"
with the appropriate schema name.

            regards, tom lane



Re: BUG #18065: An error occurred when attempting to add a column of type "vector" to a table named "vector".

От
"David G. Johnston"
Дата:


On Tuesday, August 22, 2023, Tom Lane <tgl@sss.pgh.pa.us> wrote:
"David G. Johnston" <david.g.johnston@gmail.com> writes:
> On Tuesday, August 22, 2023, PG Bug reporting form <noreply@postgresql.org>
> wrote:
>> When I run:
>> create table if not exists "vector" ();
>> alter table "vector" add column if not exists "fz_vector1_embedding"
>> vector(1536);
>> I got an error:
>> ERROR:  type modifier is not allowed for type "vector"
>> LINE 1: ..." add column if not exists "fz_vector1_embedding" vector(153...

> You are in the wrong place, core doesn’t have this type.

I think it's basically a search path problem: the table's composite type
"vector" is masking the extension's type.  Try schema-qualifying "vector"
with the appropriate schema name.


Right.  Though my conclusion is this is why you don’t name a table something as generic as “vector”.  But still one should schema-qualify their use of extension types anyway.

David J.
 
Thank you for your help!
I didn't know that the table name was actually a type. I specified a schema in front of the vector type, and the issue is resolved.