From: | Sadhuprasad Patro <b(dot)sadhu(at)gmail(dot)com> |
---|---|
To: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Per-table storage parameters for TableAM/IndexAM extensions |
Date: | 2021-12-29 17:08:11 |
Message-ID: | CAFF0-CG4KZHdtYHMsonWiXNzj16gWZpduXAn8yF7pDDub+GQMg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi,
Currently all the storage options for a table are very much specific
to the heap but a different AM might need some user defined AM
specific parameters to help tune the AM. So here is a patch which
provides an AM level routine so that instead of getting parameters
validated using “heap_reloptions” it will call the registered AM
routine.
e.g:
-- create a new access method and table using this access method
CREATE ACCESS METHOD myam TYPE TABLE HANDLER <new_tableam_handler>;
CREATE TABLE mytest (a int) USING myam ;
--a new parameter is to set storage parameter for only myam as below
ALTER TABLE mytest(squargle_size = '100MB');
The user-defined parameters will have meaning only for the "myam",
otherwise error will be thrown. Our relcache already allows the
AM-specific cache to be stored for each relation.
Open Question: When a user changes AM, then what should be the
behavior for not supported storage options? Should we drop the options
and go with only system storage options?
Or throw an error, in which case the user has to clean the added parameters.
Thanks & Regards
SadhuPrasad
http://www.EnterpriseDB.com/
Attachment | Content-Type | Size |
---|---|---|
v1-0001-PATCH-v1-Per-table-storage-parameters-for-TableAM.patch | application/octet-stream | 12.0 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Justin Pryzby | 2021-12-29 17:51:21 | Re: Add index scan progress to pg_stat_progress_vacuum |
Previous Message | Imseih (AWS), Sami | 2021-12-29 16:44:31 | Re: Add index scan progress to pg_stat_progress_vacuum |