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 1v8J6S-00G2zr-1V for pgsql-performance@arkaria.postgresql.org; Mon, 13 Oct 2025 14:00:44 +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 1v8J6P-0063Wi-Pk for pgsql-performance@arkaria.postgresql.org; Mon, 13 Oct 2025 14:00:42 +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 1v8J6P-0063WW-Dw for pgsql-performance@lists.postgresql.org; Mon, 13 Oct 2025 14:00:42 +0000 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1v8J6O-001XVp-1L for pgsql-performance@lists.postgresql.org; Mon, 13 Oct 2025 14:00:41 +0000 Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-46e37d10ed2so39195085e9.2 for ; Mon, 13 Oct 2025 07:00:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760364037; x=1760968837; darn=lists.postgresql.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=BNNeTd8+2VgNT4wvJx0vXMgNT9r2Wk8s4mOX6k2SfEU=; b=UQA4osKglQC7Jb31B6gBLtereKey58HZjJjSyJl02dHTUiv7PKOrtjVk4CjyFKm6uC fmF8408XhP+xodNglekM7txWmrvMS/rUcBpXtLxnJyvL3fueTkF6vPealQM+GsIquvMP CkHRUTLLdk68Ye+q3c4exLxwmMUmjnQPr/iW7nhWonLGTdhAqLRZGQ/n17Kdu8Clpr/d hHdRISsqPl0y3oS7mslBUr9/tvYH9MWan9SB/3G/Q/y9e2SLj5S4uWaD86gNOHEaGTb4 ZKcuiiDFZb6wP+XtF1Bg7C/taTn72rI6QfcjQQrdYP2HWGUF5ZXDXSQzB5f581kXTRHm 6wCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760364037; x=1760968837; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=BNNeTd8+2VgNT4wvJx0vXMgNT9r2Wk8s4mOX6k2SfEU=; b=vzXg5iTkH/YcxclUJLyNEcE7OHmRtVx1g/tXQyCIBIpvH6CxF2Nn1aBzRF3m9PXoQo AikGYEFYw5blTzDTAbiojeQrE8eBu25N514WKFi7i9oTTf02D2KFYzouax4lBumJjedq JfVnKsjArk05Rjxci3PGRbMt2umUQuQROcwTHeAyEUNXtr6tYgOW5a7O13pp6dabvQ25 ooXXSIornNh31EwdCaDMUknIG5kIG6muu0CGXODw7+rfPcIvW7ckdN+4qb9W7r6tG9Ie XwPw4gBfg/WaSOfgb1ZQLSKdMCD1nYhDGW1ZMn6ohjgpvVCyID11Pyc0sLoZvDKAGG7R 9BUQ== X-Gm-Message-State: AOJu0YztEDcOe6lQPYFR10Mm68xU32oXvummVYypIXqCTu4/UUIbeKd8 Ni3IGtiYSapa4qF0PWdtDlKfBl5NRvg12jvTpWY2uBAhyFZXUoDLsUOU X-Gm-Gg: ASbGnctfEfTOw5lxjUg+WNMuQtT22CFqmUzrO20gWc+X/WEe71D5dSeEeMs97pB1RGt sfY+LADGbw8r9KSlB0x1jaj+FCLdtDZ9YFNQQBx/RPJMBkcbOCf+ZQmHYgv3dXGWP7P4CfRFYp0 Vki3Kt1kLH0XgrKMvBH1CkLV877D6Vh6OZar+3msahowcsBmE4tB9pS45B6IHfacveCfRslQfYt dqEG2kSOjlq1xFIh+TLWZEQ4UpOfst6AQgredxsAiNF9kL3LqpAjt9LahEkrl04aztQQJMoGVrY Eupcw5o1myi6SKLrBYTi694PYl2ZmZ6nUEbkaoIpZjjKyrnIQdGijH1KzcRBri2ImPHw2TYAJRz Oq0mFWyCPBhE2e8k/osWUwy5taUe978OwbQ8SNZdh3Op1R/JpbcPW X-Google-Smtp-Source: AGHT+IH9Bh3TDGhdfTjSBKRBQQcTw7gNMiZ/e+4CGPs3aKIuR7jgdFVXvCM8cgUNPHkm2sW7tu5Tkw== X-Received: by 2002:a05:600c:3b1b:b0:46f:b327:31c4 with SMTP id 5b1f17b1804b1-46fb3273563mr96150465e9.14.1760364037087; Mon, 13 Oct 2025 07:00:37 -0700 (PDT) Received: from [192.168.15.198] ([80.251.191.198]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-46fb483bcf9sm192515555e9.6.2025.10.13.07.00.36 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 13 Oct 2025 07:00:36 -0700 (PDT) Message-ID: <22c38fe8-e673-46ec-b025-6ea964b3502f@gmail.com> Date: Mon, 13 Oct 2025 16:00:35 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Indexes on expressions with multiple columns and operators To: =?UTF-8?Q?Fr=C3=A9d=C3=A9ric_Yhuel?= , Tom Lane Cc: "pgsql-performance@lists.postgresql.org" , Jehan-Guillaume de Rorthais , Christophe Courtois , Laurenz Albe References: <1507576.1758120083@sss.pgh.pa.us> <62133334-b844-4d0b-b248-1a8446757e5f@dalibo.com> <1916727.1758209549@sss.pgh.pa.us> <1972974.1758213639@sss.pgh.pa.us> <76fbd9ef-1fbb-49f0-bc8b-844462b18d1d@dalibo.com> <2432873.1758387110@sss.pgh.pa.us> <6ad08c0c-2c03-4b30-b5a7-dc486aa29c52@dalibo.com> <493a013c-63d1-467a-b9ec-352f77baf37a@dalibo.com> <9756a3e9-5dea-4506-a077-72a4d9c302df@gmail.com> <6754b8f8-6dad-4778-8c10-b3aed4b495e4@dalibo.com> Content-Language: en-US From: Andrei Lepikhov In-Reply-To: <6754b8f8-6dad-4778-8c10-b3aed4b495e4@dalibo.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 25/9/2025 12:41, Frédéric Yhuel wrote: > So, on SQL Server, you can do this: > CREATE STATISTICS FooStats ON foo (ackid, crit) WHERE crit = 'WARNING'; > > It would be great to have a similar feature in PostgreSQL.Nice! Thanks for the report. I think the only reason why Postgres doesn't have it yet is the computational cost. SQL Server utilises a separate background worker to manage this vast amount of statistical data. Not sure that Postgres core wants it. Maybe one more contrib extension can be a solution? -- regards, Andrei Lepikhov, pgEdge