From: | Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com> |
---|---|
To: | Jille Timmermans <jille(at)quis(dot)cx> |
Cc: | pgsql-hackers(at)lists(dot)postgresql(dot)org |
Subject: | Re: Support for grabbing multiple consecutive values with nextval() |
Date: | 2022-03-03 09:10:34 |
Message-ID: | 4decb205-23d9-0430-84a1-4f03eca9f76b@enterprisedb.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 02.03.22 20:12, Jille Timmermans wrote:
> On 2022-02-28 11:13, Peter Eisentraut wrote:
>> On 27.02.22 10:42, Jille Timmermans wrote:
>>> I wanted to be able to allocate a bunch of numbers from a sequence at
>>> once. Multiple people seem to be struggling with this
>>> (https://stackoverflow.com/questions/896274/select-multiple-ids-from-a-postgresql-sequence,
>>> https://www.depesz.com/2008/03/20/getting-multiple-values-from-sequences/).
>>>
>>>
>>> I propose to add an extra argument to nextval() that specifies how
>>> many numbers you want to allocate (default 1).
>>
>> What is the use of this?
>>
>> I note that the stackoverflow question wanted to return multiple
>> sequence values as a result set, whereas your implementation just
>> skips a number of values and returns the last one. At least we should
>> be clear about what we are trying to achieve.
> Both would work for me actually. I'm using COPY FROM to insert many rows
> and need to know their ids and COPY FROM doesn't support RETURNING.
I don't understand this use case. COPY FROM copies from a file. So you
want to preallocate the sequence numbers before you copy the new data
in? How do you know how many rows are in the file?
From | Date | Subject | |
---|---|---|---|
Next Message | Yugo NAGATA | 2022-03-03 09:11:44 | Re: Commitfest 2022-03 Patch Triage Part 1a.i |
Previous Message | Daniil Zakhlystov | 2022-03-03 08:50:21 | Re: libpq compression (part 2) |