$ sqlite3
SQLite version 3.37.2 2022-01-06 13:25:41
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> CREATE TABLE user (
id INTEGER PRIMARY KEY,
username TEXT UNIQUE,
usertg TEXT UNIQUE,
name TEXT UNIQUE
);
sqlite> insert into user (name) values ('test');
sqlite> insert into user (name) values ('test');
Error: stepping, UNIQUE constraint failed: user.name (19)
sqlite> insert or ignore into user (name) values ('test');
sqlite> insert or ignore into user (name) values ('test');
sqlite> insert or ignore into user (name) values ('test');
sqlite> select count(*) from user;
1
sqlite>
И некоторые задачи опенсурсные решения закрывают очень даже хорошо. А некоторые - нет. В том числе это может зависеть и от размера конторы, и от объёма задач, и от объёмов трафика/rps. А ещё от наличия специалостов и их навыков, их загруженности, наличия у них дорогих коммерческих сертификатов по работе с решениями специальной формы.
Я имел дело с админами клиентов, у которых супер-пупер ngfw, в котором "ну совершенно точно разрешено", а при этом выяснить, почему не работает, они неделю не могут, потому что никаких внятных средств отладки и сколько-нибудь адекватных логов там нет. Ну, точнее, там что-то есть, но вот как пить дать в данной конкретной проблеме ничё подходящего, чтобы позволило разобраться, найти не могут. А в опенсурсных решениях прозрачная структура решения, так что можно тот же tcpdump запустить, если уж совсем ничего не удаётся увидеть.