Что такое подготовленное заявление?
-
09-06-2019 - |
Вопрос
Я вижу кучу строк в файлах .log в каталоге postgres pg_log, которые говорят что-то вроде:
ОШИБКА:подготовленный оператор «pdo_pgsql_stmt_09e097f4» не существует
Что такое подготовленные операторы и какие причины могут привести к отображению этих сообщений об ошибках?
Решение
От документация:
Подготовленный оператор-это объект на стороне сервера, который можно использовать для оптимизации производительности.Когда заявление Prepare выполнено, специфическое утверждение анализируется, переписывается и планируется.Когда впоследствии выдается команда выполнения, подготовленный оператор должен быть выполнен только.Таким образом, этапы анализа, переписывания и планирования выполняются только один раз, а не каждый раз, когда утверждение выполняется.
Поискав в сети, я обнаружил, что команда «pdo_pgsql_stmt» связана с каким-то PHP-соединением с вашей базой данных.Может быть эта ссылка может помочь вам найти подходящий список рассылки или систему отслеживания проблем, куда вы можете отправлять сообщения об ошибках?
РЕДАКТИРОВАТЬ:Кажется, я нашел вашу ошибку здесь:
Другие советы
Я думаю, это вам поможет:http://jdbc.postgresql.org/documentation/81/server-prepare.html
По сути, это похоже на хранимые процедуры, которые можно предварительно скомпилировать.