Hi, I have a use case where I need to create sequences concurrently. I use sequences instead of a table with counters to keep lock 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 access if 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