From: | Julien Tachoires <julien(at)tachoires(dot)me> |
---|---|
To: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Allow table AMs to define their own reloptions |
Date: | 2025-03-29 07:46:01 |
Message-ID: | 20250329074601.3zgrsozvycthucir@poseidon.home.virt |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Sun, Mar 02, 2025 at 02:23:54PM +0100, Julien Tachoires wrote:
> On Sun, Mar 02, 2025 at 09:56:41AM +0100, Julien Tachoires wrote:
> > With the help of the new TAM routine 'relation_options', table access
> > methods can with this patch define their own reloptions
> > parser/validator.
> >
> > These reloptions can be set via the following commands:
> > 1. CREATE TABLE ... USING table_am
> > WITH (option1='value1', option2='value2');
> > 2. ALTER TABLE ...
> > SET (option1 'value1', option2 'value2');
> > 3. ALTER TABLE ... SET ACCESS METHOD table_am
> > OPTIONS (option1 'value1', option2 'value2');
> >
> > When changing table's access method, the settings inherited from the
> > former TAM can be dropped (if not supported by the new TAM) via: DROP
> > option, or, updated via: SET option 'value'.
> >
> > Currently, tables using different TAMs than heap are able to use heap's
> > reloptions (fillfactor, toast_tuple_target, etc...). With this patch
> > applied, this is not the case anymore: if the TAM needs to have access
> > to similar settings to heap ones, they have to explicitly define them.
> >
> > The 2nd patch file includes a new test module 'dummy_table_am' which
> > implements a dummy table access method utilized to exercise TAM
> > reloptions. This test module is strongly based on what we already have
> > in 'dummy_index_am'. 'dummy_table_am' provides a complete example of TAM
> > reloptions definition.
> >
> > This work is directly derived from SadhuPrasad's patch here [2]. Others
> > attempts were posted here [1] and here [3].
> >
> > [1] https://www.postgresql.org/message-id/flat/429fb58fa3218221bb17c7bf9e70e1aa6cfc6b5d.camel%40j-davis.com
> > [2] https://www.postgresql.org/message-id/flat/CAFF0-CG4KZHdtYHMsonWiXNzj16gWZpduXAn8yF7pDDub+GQMg(at)mail(dot)gmail(dot)com
> > [3] https://www.postgresql.org/message-id/flat/AMUA1wBBBxfc3tKRLLdU64rb.1.1683276279979.Hmail.wuhao%40hashdata.cn
>
> Please find a new version including minor fixes: 'TAM' terms are
> replaced by 'table AM'
Please find a new rebased version.
--
Julien Tachoires
Attachment | Content-Type | Size |
---|---|---|
v3-0001-Allow-table-AMs-to-define-their-own-reloptions.patch | text/x-diff | 25.0 KB |
v3-0002-Add-the-dummy_table_am-test-module.patch | text/x-diff | 33.1 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Krasiyan Andreev | 2025-03-29 07:51:55 | Re: Add RESPECT/IGNORE NULLS and FROM FIRST/LAST options |
Previous Message | Alexander Pyhalov | 2025-03-29 07:24:41 | Re: SQLFunctionCache and generic plans |