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 1vGnzW-004NM7-HT for pgsql-performance@arkaria.postgresql.org; Thu, 06 Nov 2025 00:36:42 +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 1vGgoX-003fk1-QW for pgsql-performance@arkaria.postgresql.org; Wed, 05 Nov 2025 16:56:52 +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 1vGgoX-003fjt-Co for pgsql-performance@lists.postgresql.org; Wed, 05 Nov 2025 16:56:52 +0000 Received: from mx0a-00160c04.pphosted.com ([205.220.167.179]) by magus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vGgoS-0069UG-2w for pgsql-performance@lists.postgresql.org; Wed, 05 Nov 2025 16:56:51 +0000 Received: from pps.filterd (m0276496.ppops.net [127.0.0.1]) by mx0b-00160c04.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5A5DchSV032653; Wed, 5 Nov 2025 16:55:43 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= thomsonreuters.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to; s=dkimtest; bh=xKqgepTFMaObRRxgfjvUeLVlRm88ELm8aNon kDrPQVM=; b=RSUm0OTdBVYDAEuvoGGmBqHHeFFDtQz63HL6pZEVA45uUipB5cce /NVKkNgpUo8TNZbFSYAdHGh6xmcLvEZyCoVxY2jhPn7zh08mxjZ58WRYzX3IgFFt hSGDDwXAeUCHPZOAQ3Td9myRgh8VOP2MkRA4+0TBf1EZEShZlfZ/wQxQs2Zswofw Dd8163WIp6zquKASGFA3k6Juz4/zKmfkyrdVmJ3OIW/yaLPkGGjJe9Mfs/KjY2fI X6uWAMRSzsvZWxhvNo0Qcidk94BahtcuZKjwXObp9G0dnfbiOh5T+4AyI95hhY0g 4mAz8UYpaOFd/ZjnvLIJnDPnCYgUyuGAIw== Received: from bn1pr04cu002.outbound.protection.outlook.com (mail-eastus2azon11010038.outbound.protection.outlook.com [52.101.56.38]) by mx0b-00160c04.pphosted.com (PPS) with ESMTPS id 4a7d58ujv6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 05 Nov 2025 16:55:43 +0000 (GMT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=amBJGtoggKXVjP7/v8hoD7u7Ykvbsg/GLr7xeM22LpUYpdiuRjMJjEJjOfCpB2ZDqO7r6HFREFFoYFoGzSJJKTLAru7DVtAbXtO60uhMRoVhvJFx1OhdkULmefbl88Dm3a6O0Wcex/GCT15KCbPun3ypka/+QT5SueBJP8te0cA4f7vLBPztn/+X18uWkKNC3FtXjVteUXaY66w5VoMi4KBnqThp1nfwVP8/O8azMnBO55vFxrMOttweXELuiOkD4NQ/9SPgzBi0xJNoSzF9GuNdujhKZgmwa8z6lPUTa/XEBpd6nC9TZkIpf+5+F2Yq5MhlHlSmknuNtXq2lUkJsA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=xKqgepTFMaObRRxgfjvUeLVlRm88ELm8aNonkDrPQVM=; b=gGYAz8WVYlwCj5HE6DfLvh5GOdjE/UsFQz7Ln2Aszp+t26H2qCBHkCbwEPkCa4zpHL18EWz/fzyIFtDTXSxAXFC2Lnvep+Tsrfn4z5T1NTBsjUfTDmkPiEK52NX+tyUSU6ZoFCLp/SodF7edQYBhXcxaGGUMaBRVzW64OcpSkOmLJkFRZB/VQ/Iv4dLfBQ00RgvtE/CjwvFUR34Wn+0VTNHcSXp6cc/nHwTpu+aOYmcu8TMbZB1DX5cbIJ6b3L1AEO94L+Cr+5mk8IxC4rdximx4jxMY8FLRVcY4IgbzH9qWiRNywkNUIZ6nDe0IaSSX1FnP2a9wCACoqct7sKe2YA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=thomsonreuters.com; dmarc=pass action=none header.from=thomsonreuters.com; dkim=pass header.d=thomsonreuters.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=thomsonreuters.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xKqgepTFMaObRRxgfjvUeLVlRm88ELm8aNonkDrPQVM=; b=GnAiV3z9Z24755ouztBEjgRTYuk/5zYMe68aC1mzQrHf2ZpPcHWaTcOpC2pUXqwzKYuPwrLLLE73M+EVy/L09a7ehk20g0FXV29pZhtvu81GEuIW0nRbQSus7vouvyuR5NFuj08dB1k8mNFz77lKvKB6N9Qec+M3Dpe3Ux+NYm8= Received: from BL1PR03MB6038.namprd03.prod.outlook.com (2603:10b6:208:312::23) by BY5PR03MB5283.namprd03.prod.outlook.com (2603:10b6:a03:21a::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9298.7; Wed, 5 Nov 2025 16:55:38 +0000 Received: from BL1PR03MB6038.namprd03.prod.outlook.com ([fe80::c21b:3020:8bc6:602]) by BL1PR03MB6038.namprd03.prod.outlook.com ([fe80::c21b:3020:8bc6:602%6]) with mapi id 15.20.9275.016; Wed, 5 Nov 2025 16:55:38 +0000 From: "Dirschel, Steve" To: Tom Lane CC: "pgsql-performance@lists.postgresql.org" Subject: RE: [EXT] Re: Problem getting query to use index inside a function Thread-Topic: [EXT] Re: Problem getting query to use index inside a function Thread-Index: AdxOayMhQeB/QpCCQ1+VoTZN+ZmgxwABLUWAAAEvnQA= Date: Wed, 5 Nov 2025 16:55:38 +0000 Message-ID: References: <836752.1762359519@sss.pgh.pa.us> In-Reply-To: <836752.1762359519@sss.pgh.pa.us> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BL1PR03MB6038:EE_|BY5PR03MB5283:EE_ x-ms-office365-filtering-correlation-id: 089f5fcf-5915-4b91-8e50-08de1c8c259f x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|376014|366016|38070700021; x-microsoft-antispam-message-info: =?us-ascii?Q?dytK0h0/BodAaPaUu8npMbLnZ7jNgcOAdw7b7lmcKYKcC+a4xoF0NFBIbeG9?= =?us-ascii?Q?K3/2MOJ6nAm8RhvrRAwoISeJleU+5rvxNu9S4Vl/aIuh7ncoKFDYYzDTo2NK?= =?us-ascii?Q?r2RmV+uObqHH489YdxQ5VBQzagais0gByklZlHKpX70OzebLUW9MCVDSO+Xp?= =?us-ascii?Q?yiz9nxo2zxXcDJZNuqTFcKUgTv2bGhRrtXgArDihSjcmSvXZYzXB/FAP2fRf?= =?us-ascii?Q?s7rhQt5z+KBPFfDTpL4HHZpVb/xHufhfDMnKFwfiWYYOFCQTkvrtlLyFvQzW?= =?us-ascii?Q?3LZxzftmQys3laof1SuU79KgvkNhID5t4KIpFH8w1WBiSowvglG4uZEcMhPc?= =?us-ascii?Q?bXbeXz7wtCp8FihauVab4R3r8tvXVMQKQrQ8qOs9W1R5TjN8T9HSInnHjTgK?= =?us-ascii?Q?r/lmPD4rFt7CLJ6dMk8MHUjtnp9Rjwcsxi7u9Dd7ZXQpUZ6fX/c4kEAOtmC+?= =?us-ascii?Q?bZlAGrwkdOhpLpgN4ZU90MXG4hhM4VVGS10NYDUZVVBQyajp6YqkNHUR6Ba6?= =?us-ascii?Q?7IlGTqMvIe4ruoBpviOvljscCglpsCwSWgH62+rs70mp/vSUB9OcqmAeMNyE?= =?us-ascii?Q?w7xpXuBk3P89Po+V4hf/sTzUD7H85OrvFMVF2vA6JIJjWF5Bs2IWUgKxINU2?= =?us-ascii?Q?G10ADXeGCJcarT+PLXKTVejLpd1SsSj79BKPpInVchtYmy4KOwemVp5JUaPD?= =?us-ascii?Q?H5EBHZBgH/cfE/nlTlSSK2oIdEYWd3i9Fz7FkKXA5SVOm5CQHiNM1NTQ7slA?= =?us-ascii?Q?YRa6n0SB1ttDxT2p7GsUwlh4h87fPCAAGRV1vgOLePqixiEPLkbA0F/E4QM7?= =?us-ascii?Q?FQ/kqlYPQQvpQD1vN4WHEj9m0e1lX9VdIA+O+dAAtaoL2Mw+RnYLfr5pTpDB?= =?us-ascii?Q?+AoZ8JBIjWTrWPzePvGamyblPIW+BEYZbrok+tmou4lqldTPLBkII7aexx88?= =?us-ascii?Q?nRTvQy4Zm90DDG58O8bdrxj0r6oqvqKwHvwOPI2MvIsCTDUFwl10EctbxcPs?= =?us-ascii?Q?LwjKoB+5ARoC+Jmoca4qB71I7Knjj3zmUFO/c6JF1G57sfR6CM6ivUORoiS8?= =?us-ascii?Q?F820EghKw9DsqKwgJQFS8fHvS6MGLkPNbfKJTemsyC7ao0PqsWaC8qOlbt91?= =?us-ascii?Q?Os9T2fNi9hTyMuc6XldAnmUlpDsN9u3I7mHUls5rBnVIjcu2tvjz/UCeA0S5?= =?us-ascii?Q?zMrsxsVdWy1Gml/wE4Sr1h+k0VPLhALhECEUOJwTJFi68ZjBQRvn0loPC/Gv?= =?us-ascii?Q?UBisUyNuwFcGyFtH+ji+58zXW8Z57VSyZ2HQvQJEZrdh4PIJ30aly34uFRCr?= =?us-ascii?Q?kZ/1noKToFobh8tsJKyHFPPnvLq2Z8ZNuu4o1+FmvirtZUlKRXs2lyNUfcID?= =?us-ascii?Q?qhY8DsC9BNqy6pqHspw2PWrcbh9NrLE+R5M9DastGoZAJ+yzwDJfLB82J4/k?= =?us-ascii?Q?17PPd34bDLXoqylTO5z+k4LUEEmJfMbMhW0wdJ1URkIYvHG2xWt0tnidRzZY?= =?us-ascii?Q?mE6xZxVxyulKoieAp5TORDN/bYkzO1kIoILY?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR03MB6038.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(366016)(38070700021);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?lkBiABJGKYodeGSj3O7xwv6catJe3FcTIEKU0+Fl+V175feBIJArRMJYRT4s?= =?us-ascii?Q?Eijn0IvcE8GSADUa0lTj+OQ+tkwYhiHZcdJkVNwsjXByuknbLhkufEUKT7er?= =?us-ascii?Q?QusmWJLnIDDnrh6ILx9jY+8e9GgVDHMeBWJEufORmdae6Pbbg9QSoSkdiOCf?= =?us-ascii?Q?vJMaA/gHdhfh6RIFilqZjzKQmMN2V47ciFlzUq/jyniyZzX1SknQuilezRfd?= =?us-ascii?Q?oFH4fLYrB9RqYDlB3eeX5zDVXduhEe061CCNAGq/9SDl9BjY6EPMFSRpU6AB?= =?us-ascii?Q?z5QVjkQYtbj3zhdzF5ubEBqEHlW2VOhpsaz8vb3tYbEVZ55/LBJkfUayx0au?= =?us-ascii?Q?YZ+0pfY9OQ+JoUa9RZ1LioTvTBwcRba1oONV2dmVUr2xizBlJ/Y/+rSD2Jd4?= =?us-ascii?Q?Iofqkppi4yR6qH7nMO8f8ps8hptxRCwATPe5A7uhDyjmXrlkLwtalg0A8LkZ?= =?us-ascii?Q?2YSCOVapd+IryV24jvzdYuwJRZpKa4a5WSco//EKC7NiT8Vlj4OGS8nGjr6l?= =?us-ascii?Q?JBJ1GY4DUvIluHE5IaT/IlpG8X8b9tXz9VuuKAHr2yS4+axwYbxzf6tuzk7B?= =?us-ascii?Q?u77rmt2vzjIXgvlmAsNtWaY+2psoqjeR5abl0PkqMxLGwxe8Ndmt8JyUk4XL?= =?us-ascii?Q?Tqnrm2aH1eXhzYU307C6nV8m7VPfmmGQqE2R6QFOdScVfCPa7evZamIJqqcd?= =?us-ascii?Q?jigqK3GynRCUb73LDtvG9/nQVniJTA1ektGOSVt5R5M9j0pFTG5kf75QLUdS?= =?us-ascii?Q?Vf2A0qLx8L8B6X/PI8GoOPyfGLPvhG8Tf+lvZ0HXmzYsXPHfbTQ9syRt0s8B?= =?us-ascii?Q?3hOmZH+QiMRcGlm7r3MJ6Ck2kNZL+C0P2nOxN4E/Adn+zQvl6CrOGBiVGDlm?= =?us-ascii?Q?JFsqiFEIIQZKsgRZ8cL2KFBf5T2xp3at/JknmGuwNbsXJwjXxb0NmC+NV3oa?= =?us-ascii?Q?65pmdiYZvhaVHMqu8/yKnT8TESxtK+83oT5dXx76jFYl+CJv8CvNyEmzr+YD?= =?us-ascii?Q?eR0RGcFKWgIFZiNc1/KLBI7mgWaR+ylHdqR7QHw+PUSrLgjA1IPCvoptkQK4?= =?us-ascii?Q?EVbrH4crPTNfKXwpInW2JM1QXwvy0Rbi4H5W9L1fivnIkRVF4HA+HGhGyzw5?= =?us-ascii?Q?3JfhqResYH9fsbmmYjDS2axWcsAMnZtLduTwLpakns2ounpnPChy6BjV3jMI?= =?us-ascii?Q?rpZ5q5W5OpA2uzaG2N5sstmC+6Hjn/foLrCWpWo1WsH6IujjtB2S8E0po9oy?= =?us-ascii?Q?QGPXTdkoMK9iTEfNO9/eRQDKzKDD2pVwkz4NdaGKu1ONB0HA7vgrIQmEfRZz?= =?us-ascii?Q?3nA3Oo38WGVZeXB9wNa723WU/9WtQJe5zB08J5gdOSH++xGPfB5wkBjfBBRx?= =?us-ascii?Q?LiuwkMXKWG4dHRnZEkue6cfHKvktC90YxEBePx7jox4OWu9h/BJQnvWzezRH?= =?us-ascii?Q?tbjmr0qq/KmkNZsMz2o0x79ekgrInJJ8lTB24Zfx+s+mNZ+HA86V1hjTb81T?= =?us-ascii?Q?YGXXcMvD0ivF6hWvuApvWXqDlmJK56yYa22KzQ2XkliDczrN8JTqYUj7Xlha?= =?us-ascii?Q?I3VsqW4ZwuNcfWLMN3iVnq5+gTvY4vuuFGs3l00yPwVrEAzrLM7jzQfbJIp9?= =?us-ascii?Q?/g=3D=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 5bBGkJtk7Xj0QFuCzWc4EFAyH9P/54sBRtDjVEdHldwykKZvJqA+zjIya+eXX9qhWKf9XY7DI3gIvOPTzDQ4R+bcJc89k8Q0UHR/RHsQ8w+XM292jAlNXWsu3So9ipZTOz2pOQCclSXZyEfur65/fQ4egX5NkRTFtB1a8yiLs4FmJkYEsRq6YF5hi8zXUZ7AsMhGUipw5CpgPEYqqoc2U6TQNE0aHl1B8SWHabGaKA4raAXnwcPRtoW5P8v0iapJ0IgQaRN19oGBfpLW2zoKOdgMCuChwZNxkoGtD32LmuTlZz64t/tKPUyGZbQVgRu3xMixtRNXzjVkM0szKJ5JpIj+o6Ba48HEvfMoo0UdjfU6IDSZYrWyPYWgkXPIfnv8UmX9JwAMWwgkj1CKoc6clJXMvHUI1oMLoMMGyEFHRpvN2z7pKId5mryvRPC20ZUhf+51HI5EN3VwU6uO5cKJYBieVTKLcePAlUJvjCf1DRkC075jgzfZ8+42epnugESwdkXTSRTjPuqzhIIsZhFsj670RZ7XoN7hRwIQBlfPTaExJtGCP0GOuPQVGneZiUSV9Klmp4wul0hzpBkPfTN54KmzYEWX8Hq39AchVgGJzDGZv80I/OlgkakoO7742iDWZN0v5fkMlKmivcCWVbICIr07auhg1ro9rnR0xgg72a4= X-OriginatorOrg: thomsonreuters.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BL1PR03MB6038.namprd03.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 089f5fcf-5915-4b91-8e50-08de1c8c259f X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Nov 2025 16:55:38.4919 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 62ccb864-6a1a-4b5d-8e1c-397dec1a8258 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: oCjrc7/bg93LT1cna0mRh6kS8Ugzfnpc5Vb5iS0CA1PqABvHGzJ1rIkdQKr3MALYkkDhQ7NB1wafqDcqR/77xBxUxXiVM4ywARoeCTxSLHJ7ttA9SCYhkiXs9fHCS+Wi X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5283 X-Authority-Analysis: v=2.4 cv=R58O2NRX c=1 sm=1 tr=0 ts=690b818f cx=c_pps a=NYN33YLW5Jwrh4oiy2kjMw==:117 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=o7_75jvl1dMYte63:21 a=xqWC_Br6kY4A:10 a=kj9zAlcOel0A:10 a=6UeiqGixMTsA:10 a=pKFMK-pTKUcA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Lan83kc4PGmiSJddL_IA:9 a=CjuIK1q_8ugA:10 X-Proofpoint-GUID: V-CCQTszl1SAyVXa5siunJBVnfj3Z07u X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMTA0MDA2MCBTYWx0ZWRfX59s++ylIC5Cu tEvrauY3/qhiBfxvnidIDI8+3uRje2XSnBADTZlIHR1fQVKSCS/NJFrthWWOtYMbnZUCM3OXQS+ scyHD58Y/AlIbU+gKTuvRl/A6TxVhPq2HUdE9MMalmKOf103TYGQiIMTk9Z6Ao6+wLbPl28SDnH 2Wz1mNqW4V1OvJ/qDTn9lwegNrzEVYNU484GvogWdBZ2Tmd57E+HI7GUQ6FEk1QJ+vwq52Y82HS 33JgrQOrggQI8xRB9NKh/lmCQdNtIrqKMXbKYo3pQr7zO5x71zKKRUn4dRBp87fSqcgPCpv2mpI Csog0BQIwACD/ZH2peMCnCaPutv+ZJLnF6eueP3sRKwLA1A+uOyZVVXvoZsUxoFRYBvubQ/MOPT nKWSfYKFirDhSxvg0wvl7Xag6Y4CMQ== X-Proofpoint-ORIG-GUID: V-CCQTszl1SAyVXa5siunJBVnfj3Z07u X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-11-05_06,2025-11-03_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 phishscore=0 clxscore=1011 adultscore=0 lowpriorityscore=0 suspectscore=0 malwarescore=0 impostorscore=0 bulkscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2510240000 definitions=main-2511040060 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk > > Here is the function I'm having difficulties with: > > CREATE OR REPLACE FUNCTION public.steve1(param_requestid text[],=20 > > param_productid integer DEFAULT 1) RETURNS TABLE(objectid text, n=20 > > text, v text, vt integer) LANGUAGE sql AS $function$ > > SELECT objectid::text > > , i->>'n'::text > > , i->>'v'::text > > , (i->>'vt') :: INT as vt > > FROM request r > > , jsonb_array_elements(data -> 'i') i WHERE objectid =3D=20 > > ANY($1) > > AND productid=3D$2 > > $function$ > > ; > > Query: > > shared=3D> explain (analyze, buffers) > > shared-> SELECT objectid::text, n::text, v::text, vt::int FROM=20 > > shared-> steve1(ARRAY['5ab8e0ca-abb5-48c9-a95e-2bb2a375d903','adcbe251 > > shared-> -6723-48a8-8385-55133fab704a'], 1); > > QUERY PLAN > > ---------------------------------------------------------------------- > > ------------------------------------------ > > Function Scan on steve1 (cost=3D0.25..10.25 rows=3D1000 width=3D100)=20 > > (actual time=3D42.694..42.942 rows=3D3368 loops=3D1) > I think you would have better luck if the planner were "inlining" > this function, which we can see it's not since you get a Function Scan on= steve1 rather than the contained query. > I think the only thing stopping that from happening is that the function = is (by default) VOLATILE. Try marking it STABLE so that it can share the c= alling query's snapshot. > (v18 should handle such cases better than previous versions, BTW. > But you'd still be better off marking the function STABLE.) > regards, tom lane Thanks for the reply, but that did not seem to help. I tried using both th= e {} and ARRAY[] syntax but both are still full scanning based on the share= d buffers. Any other ideas? shared=3D> ALTER FUNCTION public.steve1 (param_requestid text[], param_prod= uctid integer) STABLE; ALTER FUNCTION shared=3D> explain (analyze, buffers) shared-> SELECT objectid::text, n::text, v::text, vt::int FROM steve= 1('{83e3326a-62fe-45bc-81e5-1e9fb9a84d31}', 'PJJ', 1, 1); QUERY PLAN ---------------------------------------------------------------------------= ---------------------------------- Function Scan on steve1 (cost=3D0.25..10.25 rows=3D1000 width=3D100) (act= ual time=3D64.465..64.465 rows=3D0 loops=3D1) Buffers: shared hit=3D16572 Planning Time: 0.033 ms Execution Time: 64.485 ms (4 rows) shared=3D> shared=3D> explain (analyze, buffers) shared-> SELECT objectid::text, n::text, v::text, vt::int FROM steve1(ARRAY= ['83e3326a-62fe-45bc-81e5-1e9fb9a84d31'], 'PJJ', 1, 1); QUERY PLAN ---------------------------------------------------------------------------= ---------------------------------- Function Scan on steve1 (cost=3D0.25..10.25 rows=3D1000 width=3D100) (act= ual time=3D63.749..63.749 rows=3D0 loops=3D1) Buffers: shared hit=3D16569 Planning Time: 0.043 ms Execution Time: 63.766 ms (4 rows)