concurrent creation of sequences - Mailing list pgsql-general

From Marc-Olaf Jaschke
Subject concurrent creation of sequences
Date
Msg-id F385393C-7ADD-45D6-855A-767DFD245006@dshare.de
Whole thread Raw
List pgsql-general
Hi,


I have a use case where I need to create sequences concurrently. I use sequences instead of a table with counters to
keeplock contention for incrementing the id low. The creation of new sequences rarely occurs during normal application
operation.

I check via information_schema.sequences if a sequence already exists and catch errors that occur with concurrent
accessif the corresponding sequence already exists. 

I wrote a stress test that simulates the behavior with heavy concurrency. I get the following three different error
codes:
42P07
42710
23505

I would have expected only 42710 (duplicate_object).

Is this behavior intentional?
Are there possibly other error codes that the stress test did not uncover and that I should consider?

"create sequence if not exists ..." does not prevent errors with concurrency.


Tested with "PostgreSQL 12.6 on x86_64-apple-darwin16.7.0, compiled by Apple LLVM version 8.1.0 (clang-802.0.42),
64-bit"


Best regards,
Marc-Olaf Jaschke


pgsql-general by date:

Previous
From: Michael Lewis
Date:
Subject: Re: Primary keys and composite unique keys(basic question)
Next
From: Mutuku Ndeti
Date:
Subject: Postgres connection to hot standby