From: | Petr Jelinek <petr(at)2ndquadrant(dot)com> |
---|---|
To: | Heikki Linnakangas <hlinnakangas(at)vmware(dot)com>, Simon Riggs <simon(at)2ndQuadrant(dot)com> |
Cc: | Andres Freund <andres(at)2ndquadrant(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> |
Subject: | Re: Sequence Access Method WIP |
Date: | 2015-01-23 00:34:35 |
Message-ID: | 54C1971B.4050107@2ndquadrant.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 22/01/15 17:02, Petr Jelinek wrote:
>
> The new version (the one that is not submitted yet) of gapless sequence
> is way more ugly and probably not best example either but does guarantee
> gaplessness (it stores the last value in it's own value table). So I am
> not sure if it should be included either...
>
Here it is as promised.
Notable changes:
- The gapless sequence rewritten to use the transactional storage as
that's the only way to guarantee gaplessness between dump and restore.
- Custom columns are now stored in the catalog instead of generated by
some special interface. This makes it possible to record dependencies on
types and also seems in line with how other similar things are done.
- Removed couple of pallocs from the nextval codepath which improved
performance considerably.
- Changed how the ALTER SEQUENCE ... USING behaves - when RESET WITH
value is specified the new sequenceAM will use that one for starting, if
it's not specified the nextval from original sequenceAM will be used as
RESET value. In general handling of the RESET parameter is left to the AMs.
- Unified the reloptions for index and sequences into single function.
- Re-added setval3 for compatibility reasons - it only works on local
sequences, otherwise it throws error.
- Made the 'local' default value for the GUC instead of special handling
of the empty string.
Notable missing things:
- Docs for pg_seqam.
- pg_dump support for pg_seqam. It's embarrassing but I didn't think
about this until Robert mentioned it, I am apparently too used to handle
these things using extensions.
--
Petr Jelinek http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
Attachment | Content-Type | Size |
---|---|---|
0001-seqam-v6.patch | text/x-diff | 134.1 KB |
0002-seqam-ddl-v2.patch | text/x-diff | 34.8 KB |
0003-gapless-sequence-v3.patch | text/x-diff | 27.0 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2015-01-23 00:59:36 | Re: pg_upgrade and rsync |
Previous Message | Andres Freund | 2015-01-23 00:19:33 | Re: pg_upgrade and rsync |