Вы также можете рассмотреть возможность создания первичного ключа, который представляет собой комбинацию автоинкремента (т. Е. Настройки последовательности) и уникального идентификатора машины, на которой он был создан, возможно, с использованием MAC-адреса.
См. это для обсуждения.
Таким образом, у вас есть локально уникальный (благодаря последовательности) идентификатор, который также является глобально уникальным (благодаря части MAC-адреса).
Я знаю, я знаю, вы можете подделать MAC-адрес , но вы сами решаете, действительно ли это риск для вашего домена. Кроме того, возможность подделки может быть полезна при тестировании кода.
Пожалуйста, объясните лучше, что происходит, когда рождается новая клиентская БД. Будет ли он зарегистрирован на сервере? Если да, вы можете назначить DB-идентификатор на сервере и использовать его вместо MAC-адреса, просто назначьте номер каждой новой БД и используйте его вместе с последовательностью.
По сути, если вы хотите, чтобы «уникальный идентификатор экземпляра БД» избегал коллизий с «идентификатором таблицы», у вас есть только два варианта:
1) Сервер назначает идентификатор БД при каждом добавлении новой БД
2) Клиент автоматически генерирует уникальный идентификатор, и для этого обычно требуется использовать MAC-адрес, либо «сырой», либо обработанный каким-либо образом.
Честно говоря, я не вижу альтернатив, учитывая ваше текущее описание вашей проблемы.