[HACKERS] Proposal: ALTER EXTENSION SET OPTION - Mailing list pgsql-hackers

From Chris Travers
Subject [HACKERS] Proposal: ALTER EXTENSION SET OPTION
Date
Msg-id CAN-RpxA=Lc0+4=2FcCSE3xUaUULdBy0y70E6h3sA-ekY8jZqAA@mail.gmail.com
Whole thread Raw
List pgsql-hackers
Hi all;

One of the annoyances we currently deal with regarding analytics extensions in a PG environment with mixed versions is there is no facility right now to conditionally support certain modifications to functions that might be required to make certain features work properly.

The case that comes to mind right now is in marking some functions parallel safe for PostgreSQL 9.6 and above while taking no action for 9.5.  Currently we have a few options:

1.  Mark on a best effort basis
2,  Drop support for 9.5 and below
3.  Come up with some much more complicated version graph.

It would be very nice to be able to define some options which could be set for extensions but don't affect their arguments or return types, such as marking functions parallel-safe and then have scripts which run to define these functions.

My thinking is one would have a syntax for a few specified options, such as:

ALTER EXTENSION foo SET OPTION PARALLEL SAFETY;
or if the extension supports the reverse:
ALTER EXTENSION foo UNSET OPTION PARALLEL SAFETY;

Over time more options could be added, but would be mapped to a file convention.  In this case, we could expect:

foo--[version]--set-parallel-safety.sql and foo--[version]--unset-parallel-safety.sql

--
Best Regards,
Chris Travers
Database Administrator

Tel: +49 162 9037 210 | Skype: einhverfr | www.adjust.com 
Saarbrücker Straße 37a, 10405 Berlin

pgsql-hackers by date:

Previous
From: Masahiko Sawada
Date:
Subject: Re: [HACKERS] Moving relation extension locks out of heavyweight lock manager
Next
From: Konstantin Knizhnik
Date:
Subject: Re: [HACKERS] SQL procedures