В общем, по непонятной причине не соблюдался порядок восстановления таблиц. В текущую таблицу восстанавливались ключи, ссылающиеся на еще не развернутую. Теоретически все работало, но кому понравятся горы ошибок?
Решилось раздельным восстановлением сначала схемы базы (ключ pg_restore -s), а потом только данных (pg_restore -a). Ну и разумеется --disable-triggers