Re: Parallel safety of binary_upgrade_create_empty_extension

From: Thomas Munro <thomas(dot)munro(at)enterprisedb(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Parallel safety of binary_upgrade_create_empty_extension
Date: 2018-03-26 23:04:27
Message-ID: CAEepm=3NeimnNucZhtNUoPz5V3gH7wPm-TVJJx7OyXRooKOYfA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Mar 27, 2018 at 11:58 AM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> # select proname, proparallel from pg_proc where proname like 'binary_upg%';
> proname | proparallel
> --------------------------------------------+-------------
> binary_upgrade_create_empty_extension | r
> binary_upgrade_set_next_array_pg_type_oid | r
> binary_upgrade_set_next_heap_pg_class_oid | r
> binary_upgrade_set_next_index_pg_class_oid | r
> binary_upgrade_set_next_pg_authid_oid | r
> binary_upgrade_set_next_pg_enum_oid | r
> binary_upgrade_set_next_pg_type_oid | r
> binary_upgrade_set_next_toast_pg_class_oid | r
> binary_upgrade_set_next_toast_pg_type_oid | r
> binary_upgrade_set_record_init_privs | r
> (10 rows)
>
> I wonder whether we shouldn't mark *all* of these parallel-unsafe.
> I'm not exactly convinced that 'restricted' is sufficient for the
> others, and even if it is, there's certainly little if any upside
> for letting them be executed in parallel-enabled mode.

Yeah, I almost sent a patch to do exactly that, but then I realised
the others all just set a global variable so they're technically fine
as 'r'. I have no strong preference either way; these functions will
only actually be run in parallel in the weird situation of
force_parallel_mode = on.

--
Thomas Munro
http://www.enterprisedb.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2018-03-26 23:23:30 Re: Parallel safety of binary_upgrade_create_empty_extension
Previous Message Tom Lane 2018-03-26 22:58:51 Re: Parallel safety of binary_upgrade_create_empty_extension