Re: Can't create a table with vector type as a non-super user
От | Tom Lane |
---|---|
Тема | Re: Can't create a table with vector type as a non-super user |
Дата | |
Msg-id | 498208.1759249713@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Can't create a table with vector type as a non-super user (mrudula attili <mrudula.attili@gmail.com>) |
Список | pgsql-general |
mrudula attili <mrudula.attili@gmail.com> writes: > But a non super user (a read write user of the database) is not able to > create a table with vector type and keeps getting the below error. > CREATE TABLE items (id bigserial PRIMARY KEY, embedding vector(3)) > [2025-09-30 09:22:29] [42704] ERROR: type "vector" does not exist > [2025-09-30 09:22:29] Position: 57 Well, you have to grant usage on whatever schema the type is in. > As its a production environment, we are not really happy to give away the > usage on public schema. This seems like a very strange requirement. What are you keeping in "public" that you don't want to be generally available in that database, and why? You do understand the difference between USAGE and CREATE privileges for schemas, right? > Is there a way we could get the end users make use of the extension without > granting usage on public schema You could put it in some other schema, but then users would have to adjust their search_path or name the schema explicitly. The design expectation is that you use the public schema for stuff that should be available to all SQL users, and put stuff that needs more protection in some other schema(s). There is a reasonable debate about whether giving out CREATE privilege on the public schema is a good idea (probably not, if you have not-fully-trustworthy users). But I'm having a hard time seeing why you'd not want to give out USAGE. regards, tom lane
В списке pgsql-general по дате отправления: