public inbox for [email protected]
help / color / mirror / Atom feedFrom: Marcelo Zabani <[email protected]>
To: Adrian Klaver <[email protected]>
Cc: Tomas Vondra <[email protected]>
Cc: [email protected]
Subject: Re: ERROR: could not open relation with OID XXXX
Date: Sun, 25 Aug 2024 14:14:03 -0300
Message-ID: <CACgY3QYSRBiKttYrXc6R7v+Ximt6ET+u9oSamBrLGXuabFB5jQ@mail.gmail.com> (raw)
In-Reply-To: <[email protected]>
References: <CACgY3QYe3mqMkODOzwx=EN4iGoddObUotLL8hGnCg==3vmxd_g@mail.gmail.com>
<[email protected]>
<CACgY3QYdsYyZQR0hDYFLrk42OJcNOkbW4nfmrauN7byad=6f0A@mail.gmail.com>
<[email protected]>
Thank you all for your comments.
> I would think that the queries in that case would be running as a
superuser in order to do the migrations.
Users of codd can choose the role that applies their migrations. Codd even
supports individual migrations running with ad-hoc users (so that a
migration can use the _postgres_ user to create the application's database,
for example) and users are free to add statements like `SET ROLE` inside
their migrations, too. So it's sadly not possible AFAICT to force superuser
onto them.
But I think I have plenty of things to try to avoid this problem, from
retrying like Tomas suggested to materialized CTEs that filter out
temporary relations before functions like pg_get_indexdef are called.
I will give these things a shot.
Regards.
On Sun, Aug 25, 2024 at 1:13 PM Adrian Klaver <[email protected]>
wrote:
> On 8/25/24 08:36, Marcelo Zabani wrote:
> > > we do some special stuff for catalogs
> >
> > That is good to know, thanks!
> >
> > > I believe you could actually lock the pg_class rows for update. Just
> > add FOR UPDATE at the end of the query.
> >
> > Thanks, but I tried that and got "ERROR: permission denied for table
> > pg_class", even if I try it only for tables the user owns.
> >
>
> As I understand it this issue came up in:
>
> https://github.com/mzabani/codd
>
> I would think that the queries in that case would be running as a
> superuser in order to do the migrations.
>
> --
> Adrian Klaver
> [email protected]
>
>
view thread (8+ messages)
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected], [email protected], [email protected]
Subject: Re: ERROR: could not open relation with OID XXXX
In-Reply-To: <CACgY3QYSRBiKttYrXc6R7v+Ximt6ET+u9oSamBrLGXuabFB5jQ@mail.gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox