CSEでPostgreSQLエラー「PQsendQuery() -- query is too long. Maximum length is 16382」が発生→Linuxコンソールだと問題なし。
CSEで
update テーブル名 set カラム名1 = '猫大好き!猫大好き!猫大好き!猫大好き!' where neko_id = 100;
のようなSQLを書いて実行すると、通常だと、neko_idが100のレコードの「カラム名1 」に「猫大好き!猫大好き!猫大好き!猫大好き!」という値が入る。
しかし、今日、とても長い文字列(「猫大好き!」の何千倍なのかな?)をカラム名1にセットして更新(UPDATE)しようとすると、以下のエラーが発生した。
SQL実行中に以下のエラーが発生しました。
PQsendQuery() -- query is too long. Maximum length is 16382
r_nobuが適当に訳すと「(SQLの)クエリーがあまりにも長すぎます。長さの最大値は、16382です」ってことみたいだけど、そんなことを言われてもなぁ。「16382」の単位は何だろう?ちなみに、カラム名1は、テキスト型なので、数万文字程度の文字列など楽勝で入るはず。
原因追求が面倒になってきたので、とりあえず、CSEでのUPDATEをやめて、LinuxのコンソールでPostgreSQLデータベースに接続して同じSQLを実行したら問題なくUPDATEできた。ということは、上記のエラーは、CSEの何らかの仕様で引っかかっているのかなぁ。
今度、万一時間があれば、調べるかもしれないが、たぶん、今後も、同じエラーが出たらLinuxコンソールを叩いて「これで問題ないからイイヤ!」と逃げることだろう(笑)。