Мы работаем над объединением отдельных файлов в группу PostgreSQL. Файлы все отлично работают сами по себе, и когда мы объединили их, мы запускаем их без проблем. Он начал зависать при создании одного триггера, поэтому мы прокомментировали триггер. В следующий раз, когда мы запускали файл слияния мы получили следующее сообщение об ошибке:Ошибка синтаксиса PostgreSQL eof вызвала фиксацию
ERROR: Syntax error at end of input
LINE 181: --$$ LANGUAGE plpgsql
Ниже этой ошибки были последующие синтаксические ошибки, а затем к нашему ужасу, мы обнаружили следующее в нашем файле журнала:
ERROR: Syntax error at end of input
LINE 181: --$$ LANGUAGE plpgsql
COMMIT
У нас были тесты в этом файле, которые содержали тестовые данные, которые НЕ должны были вводиться в базу данных, развращая, кто знает, сколько данных в нашей базе данных. Мы просмотрели все прилагаемые файлы и нет COMMIT
в любом месте!
Неужели кто-нибудь сталкивается с чем-то подобным? Есть ли причина, по которой ошибка в синтаксическом анализе могла бы вызвать фиксацию?
РАСШИРЕНИЕ: Кажется, что произошло то, что он получил половину пути комментария, интерпретировал что-то как EOF, продолжал синтаксический анализ, обнаружил ошибку и каким-то образом интерпретировал байты как фиксацию. Кто-нибудь знает, есть ли ЛЮБОЙ ПУТЬ, чтобы вернуть базу данных в предыдущее состояние? Это крайне вредно, и у нас нет НИКАКИХ ВОПРОСОВ, чтобы выполнить ручную перестройку !! – 2010-11-29 04:49:03