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?