Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qFgeS-00019O-PN for pgsql-hackers@arkaria.postgresql.org; Sat, 01 Jul 2023 19:53:01 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1qFgeR-0001pe-LG for pgsql-hackers@arkaria.postgresql.org; Sat, 01 Jul 2023 19:52:59 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qFgeR-0001pU-0c for pgsql-hackers@lists.postgresql.org; Sat, 01 Jul 2023 19:52:59 +0000 Received: from mail-yw1-x1133.google.com ([2607:f8b0:4864:20::1133]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1qFgeL-001cm6-Nm for pgsql-hackers@postgresql.org; Sat, 01 Jul 2023 19:52:58 +0000 Received: by mail-yw1-x1133.google.com with SMTP id 00721157ae682-577412111f0so24192607b3.0 for ; Sat, 01 Jul 2023 12:52:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joeconway.com; s=google; t=1688241171; x=1690833171; h=in-reply-to:subject:from:references:cc:to:content-language :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=DjsTryGw/sc46Dszy9YsgWOxeZ/CShvsWpvuZ38GZA8=; b=MR8cSkAObBfq3IG2BOTCpOiSbMD6+LyzrLw50eSVwsxIbsxH0cnz5SwNsTk0OXV06a koruF7QAcZ+9KEcFNgfqxDDRDm61oJy/eX0Kg9EPg3XVMPq5JTmuQyTAC9AcCkOFQQcc dOO/UjAyZH4DgST6rf5FmIKsz9YaNWlijXeJ3D2Wn0xQe+qrHeRI/7ND6mNd22Oe38Wz muyrH5S/lFRTq93hFB47VUj6b7YfZFLrxtzy89lOPIZYuhqK59vJQ9bqrAntwa59cDxP AzZ5kh6jKYBPpkaF6R/c0MHGSEGNzXwyKMxrwCXqETO1WW27C+Ow1OJEzHiADK1LBtfS YD2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688241171; x=1690833171; h=in-reply-to:subject:from:references:cc:to:content-language :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=DjsTryGw/sc46Dszy9YsgWOxeZ/CShvsWpvuZ38GZA8=; b=GttkkO4FcBvVn5S3/+rm7BsF14Prh0omtrBHFztmm4Du5xAzt0fpmWWquE+v4FEKDU L5DO0Ik4+F5FEwzRtUCLklEz+Fou/0vWERc3btf53L0Sa7A6MchdcfBrpnGDaEX1Fper fPkjoSCBZMkFGJPW/2hmAZkjo0477QuDxmutlVb2Mk1usHM8GuC4SJ36Mfk7V9TcDizY TXNLkmuMxd2iDoKZTaCRuUny1MVk9iw2BhJgRM7MJ4zptX+Pe32pA3JTIpsIo1Gosafx GxzC+G45BGpd6aHRkbaJQ2nXNeFRZ2slpMX2SUS3MDafc8mlY4bDW+o8FKtZ6ajyEHyO crhA== X-Gm-Message-State: ABy/qLZlUf1Ubtg7dEUI2zG8LT9z3RNmVg7xYy6gtwwFKYozucvK3Nby /Lcr3CPzdNqi3B3VGWWqmq4mVA== X-Google-Smtp-Source: APBJJlF6/92rx/dHdO7ayjW3RVA2zJ+t2bdaM3BFCZyLQucOqSK8FQQ9er7oSpkYJBQ9YIJVreXq9w== X-Received: by 2002:a0d:df02:0:b0:56d:40da:1fc2 with SMTP id i2-20020a0ddf02000000b0056d40da1fc2mr5739658ywe.50.1688241171265; Sat, 01 Jul 2023 12:52:51 -0700 (PDT) Received: from [192.168.4.41] (162-239-31-113.lightspeed.dybhfl.sbcglobal.net. [162.239.31.113]) by smtp.gmail.com with ESMTPSA id i126-20020a819184000000b00568cbb028c6sm4137517ywg.85.2023.07.01.12.52.50 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 01 Jul 2023 12:52:50 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------ApCWc0Vmt1bgJaaP3YNd9eyj" Message-ID: <22b9f497-74f2-733b-9181-7ba1040f649c@joeconway.com> Date: Sat, 1 Jul 2023 15:52:50 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0 Content-Language: en-US To: Pavel Stehule Cc: PostgreSQL-development References: <89742024-d51a-c66b-90b9-67f837072cd2@joeconway.com> From: Joe Conway Subject: Re: RFC: pg_stat_logmsg In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------ApCWc0Vmt1bgJaaP3YNd9eyj Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 6/30/23 23:20, Pavel Stehule wrote: > so 1. 7. 2023 v 1:57 odesílatel Joe Conway > napsal: > Part of the thinking is that people with fleets of postgres instances > can use this to scan for various errors that they care about. > Additionally it would be useful to look for "should not happen" errors. > > I will register this in the July CF and will appreciate feedback. > > This can be a very interesting feature. I like it. Thanks! FWIW, I just modified it to provide the localized text of the elevel rather than the internal number. I also localized the message format string: 8<------------------------------ psql (16beta2) Type "help" for help. test=# \x Expanded display is on. test=# select * from pg_stat_logmsg where elevel = 'ERROR' and sqlerrcode = 'XX000' and count > 1; -[ RECORD 1 ]--------------------------------------------- filename | tablecmds.c lineno | 10908 elevel | ERROR funcname | ATExecAlterConstraint sqlerrcode | XX000 message | cannot alter constraint "%s" on relation "%s" count | 2 -[ RECORD 2 ]--------------------------------------------- filename | user.c lineno | 2130 elevel | ERROR funcname | check_role_membership_authorization sqlerrcode | XX000 message | role "%s" cannot have explicit members count | 2 test=# set lc_messages ='sv_SE.UTF8'; SET test=# select * from pg_stat_logmsg where elevel = 'FEL' and sqlerrcode = 'XX000' and count > 1; -[ RECORD 1 ]--------------------------------------------- filename | tablecmds.c lineno | 10908 elevel | FEL funcname | ATExecAlterConstraint sqlerrcode | XX000 message | kan inte ändra villkoret "%s" i relation "%s" count | 2 -[ RECORD 2 ]--------------------------------------------- filename | user.c lineno | 2130 elevel | FEL funcname | check_role_membership_authorization sqlerrcode | XX000 message | rollen "%s" kan inte ha explicita medlemmar count | 2 8<------------------------------ New tarball attached. -- Joe Conway PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com --------------ApCWc0Vmt1bgJaaP3YNd9eyj Content-Type: application/x-compressed-tar; name="pg_stat_logmsg-001.tgz" Content-Disposition: attachment; filename="pg_stat_logmsg-001.tgz" Content-Transfer-Encoding: base64 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 9Vl9Vp/VZ/VZff7kn/8DBf1QUwDwAAA= --------------ApCWc0Vmt1bgJaaP3YNd9eyj--