Re: POC PATCH: copy from ... exceptions to: (was Re: VLDB Features)
От | jian he |
---|---|
Тема | Re: POC PATCH: copy from ... exceptions to: (was Re: VLDB Features) |
Дата | |
Msg-id | CACJufxGLS0SYEhBgFgm53a3aqjm_RMfvshbugFNYunu7fuF4Eg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: POC PATCH: copy from ... exceptions to: (was Re: VLDB Features) (Masahiko Sawada <sawada.mshk@gmail.com>) |
Ответы |
Re: POC PATCH: copy from ... exceptions to: (was Re: VLDB Features)
|
Список | pgsql-hackers |
On Wed, Dec 20, 2023 at 8:27 PM Masahiko Sawada <sawada.mshk@gmail.com> wrote: > > > Why do we need to use SPI? I think we can form heap tuples and insert > them to the error table. Creating the error table also doesn't need to > use SPI. > Thanks for pointing it out. I figured out how to form heap tuples and insert them to the error table. but I don't know how to create the error table without using SPI. Please pointer it out. > > > > copy_errors one per schema. > > foo.copy_errors will be owned by the schema: foo owner. > > It seems that the error table is created when the SAVE_ERROR is used > for the first time. It probably blocks concurrent COPY FROM commands > with SAVE_ERROR option to different tables if the error table is not > created yet. > I don't know how to solve this problem.... Maybe we can document this. but it will block the COPY FROM immediately. > > > > if you can insert to a table in that specific schema let's say foo, > > then you will get privilege to INSERT/DELETE/SELECT > > to foo.copy_errors. > > If you are not a superuser, you are only allowed to do > > INSERT/DELETE/SELECT on foo.copy_errors rows where USERID = > > current_user::regrole::oid. > > This is done via row level security. > > I don't think it works. If the user is dropped, the user's oid could > be reused for a different user. > You are right. so I changed, now the schema owner will be the error table owner. every error table tuple inserts, I switch to schema owner, do the insert, then switch back to the COPY_FROM operation user. now everyone (except superuser) will need explicit grant to access the error table.
Вложения
В списке pgsql-hackers по дате отправления: