Мои деньги на имя с ошибкой. Я замечаю в сообщении об ошибке, что у вас есть
OmniCloud_App_accounts
OmniCloud_App_user
Вторая таблица использует единственное число. Второй такой таблицы случайно нет:
OmniCloud_App_users
Кроме того, использование идентификаторов со смешанным регистром в PostgreSQL является отличным источником репутации здесь, в SO. Это укусит вас рано или поздно. Жертвы этой глупости здесь постоянные. Может быть, есть любая таблица с таким именем - а вы где-то забыли двойные кавычки в "OmniCloud_App_user"
?
omnicloud_app_user
Это либо так, либо транзакция, спасающая пользователя, еще не зафиксирована. Можете ли вы только создать пользователя (и еще без учетных записей) и проверить, попал ли он в нужную базу данных в таблице и с правильным ID?
Редактировать: инструменты для диагностики проблемы
Если вы знаете , что создаются пользователи, тогда возникает вопрос: есть ли внешний ключ?
ограничение user_id_refs_id_468fbcec324e93d2
посмотрите в нужном месте? Та же база? Та же схема? Та же таблица?
Чтобы выяснить, какие таблицы существуют в вашей базе данных, попробуйте следующий запрос (если у вас есть необходимые права):
SELECT n.nspname AS schema_name
,c.relname AS table_name
,c.relhastriggers
,c.reltuples
FROM pg_catalog.pg_class c
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE c.relname ~~* '%user%'
AND c.relkind = 'r'
AND nspname <> 'pg_catalog';
Показывает все таблицы во всех схемах, в имени которых указано «user», без учета регистра. Плюс, если в таблице есть триггеры ( может вызвать вашу проблему) и сколько строк в ней (оценка обновлена на ANALYZE
). Мог бы дать вам преимущество ...
Вы также можете использовать мета-команду \d
стандартного клиента командной строки (интерактивный терминал) psql
.
Я бы запустил тестовый пример и велел бы серверу postgres регистрировать все, что он получает. Для этого установите этот параметр:
set log_statement = 'all';
Инструкция о параметрах регистрации .
log_statement (enum)
Управляет записью операторов SQL. Допустимые значения: none (выкл), ddl, mod и все (все операторы).
Инструкция по как настроить параметры .