Если у вас нет оператора BEGIN
, то соединение PostgreSQL находится в режиме «автоматической фиксации», фиксируя каждое изменение после выполнения оператора.Поскольку вы неправильно комментируете свой код, я бы сказал, что вы прокомментировали оператор BEGIN
ранее в коде.Но я не могу быть уверен, потому что вы не предоставили ни одного из ваших SQL.
Обратите внимание, что синтаксис:
--$$
не комментирует конец функции $$
.Это означает пустой комментарий как последнее, что есть внутри строки.Это может помочь вам, если вы прочитаете строку следующим образом:
--
$$
Вот почему вы получаете ошибку разбора в строке с комментариями.Если бы это было фактически прокомментировано, PostgreSQL не проанализировал бы это.$$
является оператором кавычек, заключающим в себе код SQL, и является просто вспомогательным синтаксисом против использования '
для цитирования (что означает, что вы должны заключать в кавычки каждую кавычку внутри цитируемого SQL).То, что вы считаете закомментированной строкой, на самом деле было просто фрагментом строки, заканчивающимся двумя дефисами.
На заметку общего характера: комментирование следует использовать только для добавления описаний в код, а не для отключения разделов кода.Используйте контроль версий, если вам нужен доступ к более старым версиям кода.
Редактировать: Уточненное объяснение строк в кавычках.Надеюсь, теперь это имеет больше смысла.