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 1twtS1-000kaH-65 for pgsql-hackers@arkaria.postgresql.org; Tue, 25 Mar 2025 01:51:33 +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 1twtRz-00DCyu-3G for pgsql-hackers@arkaria.postgresql.org; Tue, 25 Mar 2025 01:51:31 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1twtRy-00DCsp-MW for pgsql-hackers@lists.postgresql.org; Tue, 25 Mar 2025 01:51:30 +0000 Received: from mail-lj1-x22d.google.com ([2a00:1450:4864:20::22d]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1twtRx-000xKX-02 for pgsql-hackers@lists.postgresql.org; Tue, 25 Mar 2025 01:51:29 +0000 Received: by mail-lj1-x22d.google.com with SMTP id 38308e7fff4ca-30bd21f887aso44615331fa.1 for ; Mon, 24 Mar 2025 18:51:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742867486; x=1743472286; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=l+vja2TBfxAS3zkVT8eZ/zT2t08ZJdp5j0iaSVCnfrY=; b=CWN5OJIPGiEpVB37OoSX37AsSLqn4AscGMv8W/DR0bjN2mzf+V0h1aRxXAVAw1G/Ol XTdfJe4swl/ibC1f05AwMx+hG70/YcnADVt6xlULCKV14fVFveCqgj30rn9HiSERNLzQ IAPg4J1RN1A1rH0HrkANGTxu3GEW1MIUu3+ApkY5dzQ7FmuyTPu7NSYcL9nbTEAHiYil Fic380NFC1A89PNKRBALfRP/o251vzS/fqgXGNA0/xkRW9zgmqqBn8xs4X4Vki1wIxZy DIyfOlKgZADJJOt31CKML0c4Igue0df9HcvPY30Bo5ZmnLuTi/sa8KIWr0VidlfGzGqu N+dA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742867486; x=1743472286; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=l+vja2TBfxAS3zkVT8eZ/zT2t08ZJdp5j0iaSVCnfrY=; b=XTcDwaiDzRjOGpIhIXfadYZg7qOh7c+z0v9UIRyqX81nb5CfdeiwtSq8FzGBYrAipc frQyTtwJ3qS6BJqf+PY/K9EMlCvdJpGm7xf7sVojjhnt2o/UgiMU7T3NTEMNv9rohvs+ XWc2+6/mQ3W6HxK7MF9O0CQ9eaF26s3GHSFfYCK1Box0ar84BlkSzkGlC28dOmDptcBa mwOIYBH534ERkHWDZ/11HkkyiAhqHEOFQU92W8tCZezy0hpLv8FZLfNK4vQxhu3VoACx tR2unR3A9qc2agHhRjuntcNdNauDxJV6vRID8v/1cjDSYhDo8ZMv+2bpsDz/VHbYtriF gGkA== X-Forwarded-Encrypted: i=1; AJvYcCUatOB77GJ6hPTBWjDlZKhxJMyoIhiQQYgm3JKHF9RM9uT+WPRWVOLViP1C6U4xXCKWFoBGaUQjoj98+RcS@lists.postgresql.org X-Gm-Message-State: AOJu0YwOLsUhO53xVr2yCQ3+B3oL7NJCqqsi3e3wBbUqNlOhhW8PMDYi uQ9SWJKdV6ZeIfNGhZIE+EGrFKatkqK0+RThwywyOFid/oSIX16zRV5EMVtzY8HxLlVJ3BHs0RX OajPhLp4LsxwjdhZlBnApocgH/5c= X-Gm-Gg: ASbGnctLvgQ1ilkaYKrszofMsf+QEMeos7PznH2/pO1jX9U5trrviFNGW1mUQHKI91B 0DdWk1KSWWFJXOL2vnY5pB82EpzswsjcUkGcqLg+d7O4eVeG981X/h/qZjGv3/8TkuNw+BvE6TI JQyDJjeJWq4v4RTtYnMUGA4Ung X-Google-Smtp-Source: AGHT+IG8KMKx5V23nUpRyXwk1sA9nX3n2hvfCFy8brA4QZx0QH1AptWBHyugNvYkVuYZQV2UYHCnINqweWcCyb7kB0A= X-Received: by 2002:a05:651c:b13:b0:30d:b25d:72d0 with SMTP id 38308e7fff4ca-30db25d8b1dmr760671fa.17.1742867485949; Mon, 24 Mar 2025 18:51:25 -0700 (PDT) MIME-Version: 1.0 References: <1831838.1742656359@sss.pgh.pa.us> <80506.1742660683@sss.pgh.pa.us> <461405.1742691859@sss.pgh.pa.us> In-Reply-To: From: Sami Imseih Date: Mon, 24 Mar 2025 20:51:14 -0500 X-Gm-Features: AQ5f1JrbsrRyTtUxOp9gl6tYdYOjWScB61xwKvwW74J5AZmz9x4Ba3aXMPUHHHQ Message-ID: Subject: Re: query_id: jumble names of temp tables for better pg_stat_statement UX To: Michael Paquier Cc: Tom Lane , Christoph Berg , PostgreSQL Hackers , ma lz Content-Type: text/plain; charset="UTF-8" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk > So your idea to use the relation name in eref while skipping the > column list looks kind of promising. Per se the attached. Thoughts? I feel really uneasy about this behavior becoming the default. I can bet there are some users which run common queries across different schemas ( e.g. multi-tenancy ) will consider this behavior a regression in pg_stat_statements as now all their common queries have been merged into a single entry. For example, I have seen users add comments to SQLs to differentiate similar SQLs coming from different tenants. This patch makes this no longer a somewhat decent workaround to overcome the fact that pg_stat_statements does not track schemas or search path. ``` select pg_stat_statements_reset(); set search_path = s1; select /*+ user s1 */ * from foo; set search_path = s2; select /*+ user s2 */ * from foo; reset search_path; select userid, queryid, query, calls from public.pg_stat_statements; test=# select userid, queryid, query, calls from public.pg_stat_statements; userid | queryid | query | calls --------+----------------------+-----------------------------------+------- 10 | 1788423388555345932 | select /*+ user s1 */ * from foo | 2 10 | -8935568138104064674 | select pg_stat_statements_reset() | 1 10 | -8663970364987885379 | set search_path = $1 | 2 10 | -6563543739552933350 | reset search_path | 1 (4 rows) ``` -- Sami Imseih Amazon Web Services (AWS)