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 1joWRe-0004S2-1D for pgsql-admin@arkaria.postgresql.org; Thu, 25 Jun 2020 18:17:54 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1joWRc-00064e-VU for pgsql-admin@arkaria.postgresql.org; Thu, 25 Jun 2020 18:17:52 +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 1joWRc-00064W-Mm for pgsql-admin@lists.postgresql.org; Thu, 25 Jun 2020 18:17:52 +0000 Received: from mout.gmx.net ([212.227.17.22]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1joWRa-0005df-LD for pgsql-admin@lists.postgresql.org; Thu, 25 Jun 2020 18:17:52 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1593109069; bh=kHQCiZ9CXGzylczbhbPJRk1opU1ZbesRnGX2tWVacjY=; h=X-UI-Sender-Class:Subject:To:References:From:Date:In-Reply-To; b=IEg5oyDfpmHFI97Jp4/2a1JN3L0LWvaamCmRNoEI1djb/Sg/Lyvj8G7APhbMIspBf 7atb9Sd807ZvnZy6sd+BEK8vj/USU8SL+kpoBSzWoDH96AAD1FPCTkt9yjrq0QfQZu NcwZcNQcRk+hTMWNgrqSw6bsKac8b11K7oxFwEhU= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.178.20] ([188.174.174.3]) by mail.gmx.com (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MStCY-1jPfEp1U46-00UJv9 for ; Thu, 25 Jun 2020 20:17:49 +0200 Subject: Re: using regular expression queries with regular expression indexes To: pgsql-admin@lists.postgresql.org References: From: Thomas Kellerer Message-ID: Date: Thu, 25 Jun 2020 20:17:47 +0200 User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.21) Gecko/20090302 Thunderbird/2.0.0.21 Mnenhy/0.7.5.666 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: de-DE Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:MOngbzB9v3Xh6ZE29MCi6oDpuu0K/7hNEYtRVLTld1wtrL8FuZL VHSbSxnc5FhkxH6Nfs40rBX0yVE71oloRa9+ddMa82A6m9J8DcxFF+SJjC2jMK/TaFnS89s 1mdS6615XZt3LOU2Ly5FrbWqG46c5PKSDMq3fHhJYNQzSNfTgv7ToPV1yiITMRNf3tZ2X/7 zMAIEywtVtI+uFAwn/Z+w== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:r0mkT3GRv3s=:7himKUqJwKrr1TR9RRHoR7 ZruJzxAjQ1vPLXiG3QErQpuheYyUARyQrXGnvY0DP21ozPbdXemUmL4wIfnb6bcsLyBqEqSwh qioYErhMiAMmR1V6U9XHawgUM/cc4LqRzQBnYPreS5/6oYJ/LXfmBPeDfW3qzjOWEXlyROZ2x Z2CZM1tL1AugXPQWS3jU+JvNsEonanpHc/f3tbA6yan6sehlhwz+Z7sydoaH942625FmxwXqW Z7wDCabRqx+PwTsbtj3pAD0UfG9RYUCTQlJkD/4w3EAgdAkfNTjC05eXSJQniB5G8jB7dihe9 0DmE0qJ57B7RwG4noYRCwmkHBHNlsAQAS9r3QLbEyp4DuY+zisrb1TYxlzQMsgMyduNqCbwy7 YV40DnjJ7stTYkDyi+s8aN6lI2CrQHepc44X+En+cwnjV3LAUg4+z2hQi3z1+g448PRDVAiWc 1PEuJiNFCX/H0ZFrWLi/MOsRBdQIFC27GZkcdduOb2qv8vvXT6bD5SEyKU4Z9YPyYKIBXuaoQ ZJlUXPZ3QZe275E9dQJPegLB7gVCy4gQO0kVd6PPOj89BBvtxPZxzlEVCtMaOAa3VmJIFgScC XEHMXssMWigm3m3lJMr/ZjJVigHLeKQOlMBVbLOX6Upi0KSz5iOwR5NmfwxGB+ezSsuZW9bHU ftTtE0UA03ODdLfVvc/LSgUQHNspY8MdbI/+D7/TVnQ05ibp4z4De9H6j7qcL9G3RTsIhH1vp 9twJw7SC3AXnKAZLOBiTJPt9llzcM/AsEHxLNOr/jVEEEYMtOtJa22o4uQmSr7KLRbiNRZ9Vh h+ClKKOkT6Bk+kZJJoEYGZQJDEsC7D8KqQwWFugg2Ll2WnJfrEs+rQyRpu+vPC+V14pseHHQ/ ldOeL7vK76WUMVWDGKyxyqlcPHp+824EWSBwUrcVQsDNDioQxBrMmI2CVuDJySa0enUgH++e3 a5tSnYFdYWl2GNCW61fDmgOxfJ1GjNGDrEUhwhyjs6NZZV6QIqzR1b6L7qTdVJKzgf6XZb1gU W0y1bjVUQrwZ1jvg6JqddUqV26Z0iyUrQEbx79VF489v9umUugRw8AbG0kBpqOMk9dUottGxZ tpGW7KY6WYgpBtT6BCI3x2TzYyUqi3xEGBcIW654+5p23cks7Rmum3rwzg/m1LIO6ERn9gBs0 +e21KaY23/fdY+gVgGPaxiqJx4Rvc4IICVV7pVN3Cxf+mCdO5BJPCMyuj5eTc5yoys7ws= List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk Mark Steben schrieb am 25.06.2020 um 18:45: > I have a query that uses regexp code to confirm if a text field is a dat= e or not. Why don't you define it as a date column? (e.g. so that leap years are cor= retly dealt with) But if you can't do that, what about a generated column that uses that reg= ex to populate a boolean flag, e.g. is_valid_date? Then the expensive regex evaluation would only be done when you change the= value, not everytime you query it. Thomas