| From: | Nathan Bossart <nathandbossart(at)gmail(dot)com> | 
|---|---|
| To: | Jeff Davis <pgsql(at)j-davis(dot)com> | 
| Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Ayush Vatsa <ayushvatsa1810(at)gmail(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org> | 
| Subject: | Re: Clarification on Role Access Rights to Table Indexes | 
| Date: | 2025-10-09 15:39:32 | 
| Message-ID: | aOfXNAFkj_EFm-8q@nathan | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-general pgsql-hackers | 
On Wed, Oct 08, 2025 at 08:28:01PM -0700, Jeff Davis wrote:
> Actually, now I'm unsure. v4-0001 is taking a lock on the table before
> checking privileges, whereas v4-0002 is going to some effort to avoid
> that. Is that because the latter is taking a ShareLock?
I was confused by this, too.  We seem to go to great lengths to avoid
taking a lock before checking permissions in RangeVarGetRelidExtended(),
but in pg_prewarm() and this stats code, we are taking the lock first.
pg_prewarm() can't use RangeVarGetRelid because you give it the OID, but
I'm not seeing why stat_utils.c can't use it.  We should probably fix this.
I wouldn't be surprised if there are other examples.
-- 
nathan
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Roberto Nunnari | 2025-10-09 17:25:34 | High latency and profiling | 
| Previous Message | veem v | 2025-10-09 15:21:56 | Re: Alerting on memory use and instance crash | 
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Robert Haas | 2025-10-09 15:43:57 | compiling pg_bsd_indent | 
| Previous Message | Tomas Vondra | 2025-10-09 15:33:19 | Re: Should we update the random_page_cost default value? |