Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sttFw-002S9T-TG for pgsql-hackers@arkaria.postgresql.org; Thu, 26 Sep 2024 18:30:25 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1sttFw-00CKEM-5S for pgsql-hackers@arkaria.postgresql.org; Thu, 26 Sep 2024 18:30:24 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sttFv-00CKAR-QO for pgsql-hackers@lists.postgresql.org; Thu, 26 Sep 2024 18:30:23 +0000 Received: from mail-qv1-xf29.google.com ([2607:f8b0:4864:20::f29]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1sttFs-001EUO-7H for pgsql-hackers@lists.postgresql.org; Thu, 26 Sep 2024 18:30:23 +0000 Received: by mail-qv1-xf29.google.com with SMTP id 6a1803df08f44-6cb2c5128d5so8823686d6.0 for ; Thu, 26 Sep 2024 11:30:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1727375420; x=1727980220; darn=lists.postgresql.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=r/ywgLHNK5qYj+h0qKyo/GkDHaTo9d1xJRwlprMuIn8=; b=nb1u75kG7J7ElohQJxM97/tffjNv5PoHIapSzHy/JCJCO5f/ncGCDjehjWqTHB0A/A HXwci5ziTyae3JO/ahRLOYeIjiyyUcDpr4a0v3iojaFIQCTV54bJz5OsNQY767N2PpPj 14m5Ns6JZm0Nf7ZvAfzqFQ6QhFHIoNb99mi/WCFLTn97qiQVQol1x9jrhip6VXcAY7gG cr/Ep/eyQYJX45fGh1sc6NRSLr4aNQNTP9p+1Q25IbhqyFYyaSZU5jRtb6PxzvS1UsOA BEYxjUzr7aPmwiODHRmAhk+V9ffqFBFXzGKY5MjTA4JtJ12/FRstTQPLjMU+2DJ2e0qy LH/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727375420; x=1727980220; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=r/ywgLHNK5qYj+h0qKyo/GkDHaTo9d1xJRwlprMuIn8=; b=iJZ0B29shFG93i83AYqyzmnucdisDyCaL2Hcmqf+msnEh/SKAZcrqnJyoAHyQiNjvr Etp1509jfTx0Qf9RRHeQxRRVdV6bYVu+V+4398Gdqtl8NFkNjSeRvZxzjNqAtvuiQhpB YTxaTFFnRIVUW3pxTvOV2ZmLx7nM4sM7n9lQELTvH5RkkKA3+W9+VqHFRk61PLGjYdrE zljMHIi8Xi0zDEXtjuqCyUfDwta+eOHeRXlk1WGVeO8kvXG6Ekv8X2+CVHd+8wYX3zRx gQmAt/guNYTRW8YuyFh/Fn/GDphGfWm1hJfcKaVTEpZwgMHeQ5MMVnQabVGMz8TeHOis XMnQ== X-Gm-Message-State: AOJu0Yx0xQYsfRFRHd6WFz7t8UhPvvPLY7udjBOwWpXrDQScd4M/4MiG wFfjMuIAH9FlnctvbJTevybW4mrUWUyd/IuXMavAu9rWkrXnXebnwgYhRcYvdiUsBoGtyDy0/Ig wYPwfpYqttvhofot/PDKXvFxBIOPcnAOu X-Google-Smtp-Source: AGHT+IEsO11pZCgsT+juID0KSDN4URIbuCOvv55rRZ2W4xgC0sqAa2C341mArrLukflkEIhXvIqj/Fi/h2AJZHTowQs= X-Received: by 2002:a0c:fb05:0:b0:6cb:10ee:de7b with SMTP id 6a1803df08f44-6cb3b62857amr7006426d6.34.1727375419613; Thu, 26 Sep 2024 11:30:19 -0700 (PDT) MIME-Version: 1.0 From: diPhantxm Date: Thu, 26 Sep 2024 21:30:08 +0300 Message-ID: Subject: Truncate logs by max_log_size To: pgsql-hackers@lists.postgresql.org Content-Type: multipart/mixed; boundary="00000000000047d90c062309ee86" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --00000000000047d90c062309ee86 Content-Type: multipart/alternative; boundary="00000000000047d90b062309ee84" --00000000000047d90b062309ee84 Content-Type: text/plain; charset="UTF-8" Hi hackers, I would like to suggest a patch to truncate some long queries. I believe sometimes there is no need to log a query containing some gigabytes of blob, for example. In patch a new parameter, named max_log_size, is introduced. It defines the maximum size of logged query, in bytes. Everything beyond that size is truncated. Best regards, Kirill Gavrilov --00000000000047d90b062309ee84 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi hackers,

I would like to suggest a patch t= o truncate some long queries. I believe sometimes there is no need to log a= query containing some gigabytes of blob, for example. In patch a new param= eter, named max_log_size, is introduced. It defines the maximum size of log= ged query, in bytes. Everything beyond that size is truncated.
Best regards,
Kirill Gavrilov
--00000000000047d90b062309ee84-- --00000000000047d90c062309ee86 Content-Type: application/octet-stream; name="0001-parameter-max_log_size-to-truncate-logs.patch" Content-Disposition: attachment; filename="0001-parameter-max_log_size-to-truncate-logs.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_m1jmman90 RnJvbSA4ZjJkOWE1YzlhYTZjZjg2M2EyOWRmNmJhMTc4ZjliMDU0ZTlhNDg0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBkaXBoYW50eG0gPGRpcGhhbnR4bUB5YW5kZXgtdGVhbS5ydT4K RGF0ZTogVGh1LCAyNiBTZXAgMjAyNCAyMToxMzoyMSArMDMwMApTdWJqZWN0OiBbUEFUQ0hdIHBh cmFtZXRlciBtYXhfbG9nX3NpemUgdG8gdHJ1bmNhdGUgbG9ncwoKVGhlcmUgaXMgbm8gbmVlZCB0 byBsb2cgdGhlIGVudGlyZSBxdWVyeSwgYmVjYXVzZSBpdCBtYXkgYmUgbGFyZ2UgYW5kIHRha2Ug bG90cyBvZiBzcGFjZSBvbiBkaXNrLiBQYXJhbWV0ZXIgbWF4X2xvZ19zaXplIHNldCB0aGUgbWF4 aW11bSBsZW5ndGggZm9yIGxvZ2dlZCBxdWVyeS4gRXZlcnl0aGluZyBiZXlvbmQgdGhhdCBsZW5n dGggaXMgdHJ1bmNhdGVkLiBWYWx1ZSAwIGRpc2FibGVzIHRoZSBwYXJhbWV0ZXIuCi0tLQogc3Jj L2JhY2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5jICAgICAgICAgICAgICAgIHwgIDggKysrKysrKysK IHNyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjX3RhYmxlcy5jICAgICAgICAgICB8IDExICsrKysr KysrKysrCiBzcmMvYmFja2VuZC91dGlscy9taXNjL3Bvc3RncmVzcWwuY29uZi5zYW1wbGUgfCAg MiArKwogc3JjL2Jpbi9wZ19jdGwvdC8wMDRfbG9ncm90YXRlLnBsICAgICAgICAgICAgIHwgMTUg KysrKysrKysrKysrKysrCiBzcmMvaW5jbHVkZS91dGlscy9lbG9nLmggICAgICAgICAgICAgICAg ICAgICAgfCAgMSArCiA1IGZpbGVzIGNoYW5nZWQsIDM3IGluc2VydGlvbnMoKykKCmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC91dGlscy9lcnJvci9lbG9nLmMgYi9zcmMvYmFja2VuZC91dGlscy9l cnJvci9lbG9nLmMKaW5kZXggNTg5ODEwMGFjYi4uNTkzOGFlY2Y2OSAxMDA2NDQKLS0tIGEvc3Jj L2JhY2tlbmQvdXRpbHMvZXJyb3IvZWxvZy5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2Vycm9y L2Vsb2cuYwpAQCAtMTE0LDYgKzExNCw3IEBAIGludAkJCUxvZ19kZXN0aW5hdGlvbiA9IExPR19E RVNUSU5BVElPTl9TVERFUlI7CiBjaGFyCSAgICpMb2dfZGVzdGluYXRpb25fc3RyaW5nID0gTlVM TDsKIGJvb2wJCXN5c2xvZ19zZXF1ZW5jZV9udW1iZXJzID0gdHJ1ZTsKIGJvb2wJCXN5c2xvZ19z cGxpdF9tZXNzYWdlcyA9IHRydWU7CitpbnQJCQltYXhfbG9nX3NpemUgPSAwOwogCiAvKiBQcm9j ZXNzZWQgZm9ybSBvZiBiYWNrdHJhY2Vfc3ltYm9scyBHVUMgKi8KIHN0YXRpYyBjaGFyICpiYWNr dHJhY2Vfc3ltYm9sX2xpc3Q7CkBAIC0xNjc1LDYgKzE2NzYsMTMgQEAgRW1pdEVycm9yUmVwb3J0 KHZvaWQpCiAJQ0hFQ0tfU1RBQ0tfREVQVEgoKTsKIAlvbGRjb250ZXh0ID0gTWVtb3J5Q29udGV4 dFN3aXRjaFRvKGVkYXRhLT5hc3NvY19jb250ZXh0KTsKIAorCWlmIChtYXhfbG9nX3NpemUgIT0g MCAmJiBkZWJ1Z19xdWVyeV9zdHJpbmcgIT0gTlVMTCkKKwl7CisJCWNoYXIqIHN0ciA9IGRlYnVn X3F1ZXJ5X3N0cmluZzsKKwkJc3RyW3BnX21iY2xpcGxlbihzdHIsIHN0cmxlbihzdHIpLCBtYXhf bG9nX3NpemUpXSA9ICdcMCc7CisJCWRlYnVnX3F1ZXJ5X3N0cmluZyA9IHN0cjsKKwl9CisKIAkv KgogCSAqIENhbGwgaG9vayBiZWZvcmUgc2VuZGluZyBtZXNzYWdlIHRvIGxvZy4gIFRoZSBob29r IGZ1bmN0aW9uIGlzIGFsbG93ZWQKIAkgKiB0byB0dXJuIG9mZiBlZGF0YS0+b3V0cHV0X3RvX3Nl cnZlciwgc28gd2UgbXVzdCByZWNoZWNrIHRoYXQgYWZ0ZXJ3YXJkLgpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvdXRpbHMvbWlzYy9ndWNfdGFibGVzLmMgYi9zcmMvYmFja2VuZC91dGlscy9taXNj L2d1Y190YWJsZXMuYwppbmRleCBiNDZlM2I4YzU1Li40ZTE4YmZlZThjIDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC91dGlscy9taXNjL2d1Y190YWJsZXMuYworKysgYi9zcmMvYmFja2VuZC91dGls cy9taXNjL2d1Y190YWJsZXMuYwpAQCAtMzQ2Nyw2ICszNDY3LDE3IEBAIHN0cnVjdCBjb25maWdf aW50IENvbmZpZ3VyZU5hbWVzSW50W10gPQogCQlOVUxMLCBOVUxMLCBOVUxMCiAJfSwKIAorCXsK KwkJeyJtYXhfbG9nX3NpemUiLCBQR0NfU0lHSFVQLCBMT0dHSU5HX1dIQVQsCisJCQlnZXR0ZXh0 X25vb3AoIlNldHMgbWF4IHNpemUgb2YgbG9nZ2VkIHN0YXRlbWVudC4iKSwKKwkJCU5VTEwKKwkJ fSwKKwkJJm1heF9sb2dfc2l6ZSwKKwkJNSAqICgxMDI0ICogMTAyNCksCisJCTAsIElOVF9NQVgs CisJCU5VTEwsIE5VTEwsIE5VTEwKKwl9LAorCiAJLyogRW5kLW9mLWxpc3QgbWFya2VyICovCiAJ ewogCQl7TlVMTCwgMCwgMCwgTlVMTCwgTlVMTH0sIE5VTEwsIDAsIDAsIDAsIE5VTEwsIE5VTEws IE5VTEwKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvcG9zdGdyZXNxbC5jb25m LnNhbXBsZSBiL3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvcG9zdGdyZXNxbC5jb25mLnNhbXBsZQpp bmRleCBkMDYwNzRiODZmLi5mMjY4MTJkNmRhIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGls cy9taXNjL3Bvc3RncmVzcWwuY29uZi5zYW1wbGUKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvbWlz Yy9wb3N0Z3Jlc3FsLmNvbmYuc2FtcGxlCkBAIC01OTIsNiArNTkyLDggQEAKIAkJCQkJIyBiaW5k LXBhcmFtZXRlciB2YWx1ZXMgdG8gTiBieXRlczsKIAkJCQkJIyAtMSBtZWFucyBwcmludCBpbiBm dWxsLCAwIGRpc2FibGVzCiAjbG9nX3N0YXRlbWVudCA9ICdub25lJwkJCSMgbm9uZSwgZGRsLCBt b2QsIGFsbAorI21heF9sb2dfc2l6ZSA9IDAgCQkJCSMgbWF4IHNpemUgb2YgbG9nZ2VkIHN0YXRl bWVudF90aW1lb3V0CisJCQkJICAgICMgMCBkaXNhYmxlcyB0aGUgZmVhdHVyZQogI2xvZ19yZXBs aWNhdGlvbl9jb21tYW5kcyA9IG9mZgogI2xvZ190ZW1wX2ZpbGVzID0gLTEJCQkjIGxvZyB0ZW1w b3JhcnkgZmlsZXMgZXF1YWwgb3IgbGFyZ2VyCiAJCQkJCSMgdGhhbiB0aGUgc3BlY2lmaWVkIHNp emUgaW4ga2lsb2J5dGVzOwpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19jdGwvdC8wMDRfbG9ncm90 YXRlLnBsIGIvc3JjL2Jpbi9wZ19jdGwvdC8wMDRfbG9ncm90YXRlLnBsCmluZGV4IDEwODE1YTYw ZDQuLmQxYTBhMjE0NzMgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfY3RsL3QvMDA0X2xvZ3JvdGF0 ZS5wbAorKysgYi9zcmMvYmluL3BnX2N0bC90LzAwNF9sb2dyb3RhdGUucGwKQEAgLTY5LDYgKzY5 LDcgQEAgbG9nX2Rlc3RpbmF0aW9uID0gJ3N0ZGVyciwgY3N2bG9nLCBqc29ubG9nJwogIyB0aGVz ZSBlbnN1cmUgc3RhYmlsaXR5IG9mIHRlc3QgcmVzdWx0czoKIGxvZ19yb3RhdGlvbl9hZ2UgPSAw CiBsY19tZXNzYWdlcyA9ICdDJworbWF4X2xvZ19zaXplID0gMzIKICkpOwogCiAkbm9kZS0+c3Rh cnQoKTsKQEAgLTEzNSw2ICsxMzYsMjAgQEAgY2hlY2tfbG9nX3BhdHRlcm4oJ3N0ZGVycicsICAk bmV3X2N1cnJlbnRfbG9nZmlsZXMsICdzeW50YXggZXJyb3InLCAkbm9kZSk7CiBjaGVja19sb2df cGF0dGVybignY3N2bG9nJywgICRuZXdfY3VycmVudF9sb2dmaWxlcywgJ3N5bnRheCBlcnJvcics ICRub2RlKTsKIGNoZWNrX2xvZ19wYXR0ZXJuKCdqc29ubG9nJywgJG5ld19jdXJyZW50X2xvZ2Zp bGVzLCAnc3ludGF4IGVycm9yJywgJG5vZGUpOwogCiskbm9kZS0+cHNxbCgncG9zdGdyZXMnLCAn SU5TRVJUIElOVE8gU09NRV9OT05fRVhJU1RBTlRfVEFCTEUgVkFMVUVTIChURVNUKScpOworZm9y IChteSAkYXR0ZW1wdHMgPSAwOyAkYXR0ZW1wdHMgPCAkbWF4X2F0dGVtcHRzOyAkYXR0ZW1wdHMr KykKK3sKKwlldmFsIHsKKwkJJGN1cnJlbnRfbG9nZmlsZXMgPSBzbHVycF9maWxlKCRub2RlLT5k YXRhX2RpciAuICcvY3VycmVudF9sb2dmaWxlcycpOworCX07CisJbGFzdCB1bmxlc3MgJEA7CisJ dXNsZWVwKDEwMF8wMDApOworfQorZGllICRAIGlmICRAOworY2hlY2tfbG9nX3BhdHRlcm4oJ3N0 ZGVycicsICAkY3VycmVudF9sb2dmaWxlcywgJ0lOU0VSVCBJTlRPIFNPTUVfTk9OX0VYSVNUQU5U X1RBKD8hKEJMRSBWQUxVRVMgXChURVNUXCkpKScsICRub2RlKTsKK2NoZWNrX2xvZ19wYXR0ZXJu KCdjc3Zsb2cnLCAgJGN1cnJlbnRfbG9nZmlsZXMsICdJTlNFUlQgSU5UTyBTT01FX05PTl9FWElT VEFOVF9UQSg/IShCTEUgVkFMVUVTIFwoVEVTVFwpKSknLCAkbm9kZSk7CitjaGVja19sb2dfcGF0 dGVybignanNvbmxvZycsICRjdXJyZW50X2xvZ2ZpbGVzLCAnSU5TRVJUIElOVE8gU09NRV9OT05f RVhJU1RBTlRfVEEoPyEoQkxFIFZBTFVFUyBcKFRFU1RcKSkpJywgJG5vZGUpOworCiAkbm9kZS0+ c3RvcCgpOwogCiBkb25lX3Rlc3RpbmcoKTsKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3V0aWxz L2Vsb2cuaCBiL3NyYy9pbmNsdWRlL3V0aWxzL2Vsb2cuaAppbmRleCA0YTk1NjJmZGFhLi40MzMz MGFiODkzIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS91dGlscy9lbG9nLmgKKysrIGIvc3JjL2lu Y2x1ZGUvdXRpbHMvZWxvZy5oCkBAIC01MDEsNiArNTAxLDcgQEAgZXh0ZXJuIFBHRExMSU1QT1JU IGludCBMb2dfZGVzdGluYXRpb247CiBleHRlcm4gUEdETExJTVBPUlQgY2hhciAqTG9nX2Rlc3Rp bmF0aW9uX3N0cmluZzsKIGV4dGVybiBQR0RMTElNUE9SVCBib29sIHN5c2xvZ19zZXF1ZW5jZV9u dW1iZXJzOwogZXh0ZXJuIFBHRExMSU1QT1JUIGJvb2wgc3lzbG9nX3NwbGl0X21lc3NhZ2VzOwor ZXh0ZXJuIFBHRExMSU1QT1JUIGludCBtYXhfbG9nX3NpemU7CiAKIC8qIExvZyBkZXN0aW5hdGlv biBiaXRtYXAgKi8KICNkZWZpbmUgTE9HX0RFU1RJTkFUSU9OX1NUREVSUgkgMQotLSAKMi4zOS4y IChBcHBsZSBHaXQtMTQzKQoK --00000000000047d90c062309ee86--