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.96) (envelope-from ) id 1vdmdo-004gj1-03 for pgsql-docs@arkaria.postgresql.org; Thu, 08 Jan 2026 09:49:17 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vdmdm-001QVc-2m for pgsql-docs@arkaria.postgresql.org; Thu, 08 Jan 2026 09:49:15 +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.96) (envelope-from ) id 1vdmdm-001QVO-1M for pgsql-docs@lists.postgresql.org; Thu, 08 Jan 2026 09:49:15 +0000 Received: from mail-switzerlandwestazon11020113.outbound.protection.outlook.com ([52.101.188.113] helo=GVAP278CU002.outbound.protection.outlook.com) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vdmdl-004ri3-2T for pgsql-docs@lists.postgresql.org; Thu, 08 Jan 2026 09:49:14 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=wfQgLTjrsIpmhaeHbqjp4ZK/xhm4j+wa6Xb1P1b487q1G8ALk+UFd0JVF66tLsLQUb6y+w7uYc3jkwbxIr6tL4Q2tgKbLckMlIUTTeLwS4cQWLw0h/diM5c+geIIA9Z2YXeXFUNTfQ5mSn7tqSGn+shysVdhr3hGhS88mhwvNQe4NmOLVwUQkAueYKjqB+2pnm92a3GPGmdOt22FOJHVubLGhMGkgcyBdCDGBfi0k24FVgz8MNXrZtBLkucMyf7vdsqyRqbqmgRIrPrAxVTgzfjwX40Tg4tlfbbsIu4lSWkVH4jEhGaA0lF7hSmHWFldvpNqRAlPM5OQL42vep++fQ== 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=tN0XSiOJYsBrQk0TKlwEzRIsFCqI6TCprY3Rg5KRarM=; b=J0+Su5N82gFLrjOlbTHIakFZLwTDpbBT05PWeDNIdNnzktEOyI0kyHRSJjDurJaEg2eFO4pD9KJY8UHLZrLnoFlGAZobGCHlfecGpJohzOmnj54dWawd+FdZ5MYR7jJAwpk7VRUrYOeoT8kBwPpW3njsKVts4P9KVqi7KkRKKRp+5XSOpcWMR2gzatyeow9jfK9JlTaGXPqmylQY+XgizCSAM12AtQhU4AQVR/bNIs+FsGN0y8k7as2WhQ/H4OUPT6KhYuD6yGLceyem/Qnk1iKZFmZmmlLlJ1azTkJ2mULgS3LBv0caHCecyYECIV1Xh0ORMBOj/AINJ+7UbMx72g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=dbi-services.com; dmarc=pass action=none header.from=dbi-services.com; dkim=pass header.d=dbi-services.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dbi-services.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tN0XSiOJYsBrQk0TKlwEzRIsFCqI6TCprY3Rg5KRarM=; b=TFhvNONpZboZ0clcNQLCxw1t3MQxu+RT9Oasw8LhPrKCeG1vP5tUOiG6njOLN1R6u5ZFQgkffywqVQFZXpfJjTJHu9xhUTiGrhwiDO7iNeqSFZdPUFgJ/ck3UiOzGQMSYaZTiBteMlLxf/b7cgF0hOQGGsNPWcM4c/gcHad3iA8= Received: from ZR2PPFF1830B877.CHEP278.PROD.OUTLOOK.COM (2603:10a6:918::2f2) by ZR5P278MB1982.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:b1::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9499.3; Thu, 8 Jan 2026 09:49:09 +0000 Received: from ZR2PPFF1830B877.CHEP278.PROD.OUTLOOK.COM ([fe80::ae72:1bc:83e6:e7c8]) by ZR2PPFF1830B877.CHEP278.PROD.OUTLOOK.COM ([fe80::ae72:1bc:83e6:e7c8%5]) with mapi id 15.20.9478.004; Thu, 8 Jan 2026 09:49:09 +0000 From: "Daniel Westermann (DWE)" To: PostgreSQL-documentation Subject: Is this paragraph in the pg_locks section still correct/accurate? Thread-Topic: Is this paragraph in the pg_locks section still correct/accurate? Thread-Index: AQHcgIJSjXGanxWupk6HBka18NRszQ== Date: Thu, 8 Jan 2026 09:49:09 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=dbi-services.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: ZR2PPFF1830B877:EE_|ZR5P278MB1982:EE_ x-ms-office365-filtering-correlation-id: 384c02ed-2bcf-4101-850e-08de4e9b2bda x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|366016|1800799024|376014|38070700021; x-microsoft-antispam-message-info: =?iso-8859-1?Q?o0NbkIz9uI5CCzn6jTOquQ9VxDevpv+bZppmmXhFXaa1991djU+y0voGn9?= =?iso-8859-1?Q?f6WQU44EUaxsjqkirQC47drf0ObhT/YEDeNltb+tO0JefkQQCxIKerq0dl?= =?iso-8859-1?Q?AZsrcXJgPdIB6eSFd6g5V7xWEaGPcFGP7tXreN1a/d3NuMMlLl776TXKTK?= =?iso-8859-1?Q?EQP9JFmx85JsDmTbGi3JNqM904mhK4fy3rdYQ9HcRs/Lhli3SRZwEKwerG?= =?iso-8859-1?Q?r8EQEwVoyh93gUDMdbje++I9syYD6u73zxr83dP3LK4pSnaZIeH0N4Ao55?= =?iso-8859-1?Q?Be6UsDzYYLz6uAVlgistjARv6VzovKqFTAKew73kAKYeMDGCQU7ScYjF6H?= =?iso-8859-1?Q?juADQ2imOg5SVuvItpDnTlqDuBPjPE7KN4aburrnsIr/3BaildpmHBl0G8?= =?iso-8859-1?Q?QDZkSf+cueCZkLdzhWB0qjr+7sBjA9WZExkh+b5MYSg6DMqqJ2iNJG6Hdx?= =?iso-8859-1?Q?Zqc06mPk+/NjCO7Sv+vv9CLjOVbWOUeGCOqmV2+3FneE/J0r3kKjRmCc0I?= =?iso-8859-1?Q?zLz4qlKCBgAPERaCTwSImex1Ttr8F7KQ4SG/Lgp8mYHyGb7GL4WS/rvQlv?= =?iso-8859-1?Q?BnK5q3+cyqAxu2OYJt6ewX3za6imKSdrC+ilVSWjeIduqs3mYOFHuaXBXW?= =?iso-8859-1?Q?KdlLq8h/HhHaZPqa5N+L2U9WyHbvcg5r3wCePjYIzU9j63007D3WkGOKWP?= =?iso-8859-1?Q?mRvuaeU+W1h7DVEaqwhBF8LCCWjHRizVzkYA8o6pmz9GNjuSoz5z7Nwnqr?= =?iso-8859-1?Q?SMAH/EzAR2sqifSbR0DyPsc9zqWn8waciReMHZlFRDHMESjPqs/mhQXeEQ?= =?iso-8859-1?Q?QPdNXz92a3sMRcpHyPLeYYk0MgSl2Ndhd5p20CuG/V2MxYkX37FNwPU3mh?= =?iso-8859-1?Q?cOhkBAv9hLd2fAMlafrYV00Km5btnXYQCQL9JLiU7KRKEhr/q2RRqpG6Af?= =?iso-8859-1?Q?48V4frffObsO5uyD5iNHLdEpOjiMAETR5yPbfbE+64UEZ7HL/JRMnSvLr/?= =?iso-8859-1?Q?jJ9DbNraxqAQc+h0mdCMAY6ufhyVAM7Lm4qcTv/Fe/c7uSH7M0hCfgnBfs?= =?iso-8859-1?Q?Z+m/5iPja7jDyOMwquhauQjKfNkMMm4kUwB4Z3UaO9L4QubXamiN6s0FvJ?= =?iso-8859-1?Q?fRt3i3bbjOKcNQQpKI3F3rzvjWUQDA+WZ562T80WLB9hz5oCjesJ2Jz+fd?= =?iso-8859-1?Q?dpnBIwtb0Og1+p1gn7GJyLgt/eD2/Xb171O1/vOYqlLjEp9qg6sWTW/Rqt?= =?iso-8859-1?Q?asJiYtW6Q5CKBEkqBqNmBLqPMFCxZ7NnERmCihSRSSsYI0SAjqdOU9CRXm?= =?iso-8859-1?Q?Nyu24mAWYR8sC+UyxTQGOKOajO7AOoWspwBszQfEQejqHSzQPil+OZC6z0?= =?iso-8859-1?Q?J+L4bO7GscRT1PGjsGDnzatWOgrkXtQGIqwb/uRgBwn5IcmDOGxobf6tnS?= =?iso-8859-1?Q?IaHnJ/qLMwaxglhXD52p0KRsPE7l65Y8yHfbx2zMpfImOdECWPVU/T0YSU?= =?iso-8859-1?Q?95Lt20qTBjpTbcKDX9af5vZO9xeT/FWGzdmvvGc+K092tox6LdQPFmtD1T?= =?iso-8859-1?Q?AkK004SzAHXWgfJU1Twyr5vdXUN2?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:ZR2PPFF1830B877.CHEP278.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(38070700021);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?aHEmPyIA++iivqMsdHoHUkGa5LnM4EI8uCmQiw+V6ARLmSrvp8ysQ+Sibz?= =?iso-8859-1?Q?CAitC5IOD9HjIrJhDeMl4byLgJybKl9fL00ikje7Drgjwv1mCA6DV8+HVK?= =?iso-8859-1?Q?eePHORrfNXy9PRaPJPhmG1Cycr98LfI9DjZLOm0E5gSRVF80D4FFc13Ge6?= =?iso-8859-1?Q?Zf5fZDq/wqalXEFxi7C501NFVsCPRiW8VQBPlcQAdpUQOdoHFxTSe22YPn?= =?iso-8859-1?Q?K4nGPtIjkD1AHOiD8wZ4era/ZPfJC/GaPKMHO1ZwVqfrOMxed9sIagEF7G?= =?iso-8859-1?Q?R4y2dpVnyH+f7b0SyQbfyfJ5jnYsQTb7sGmPMY37EVyF2+9kPyfeBDoISL?= =?iso-8859-1?Q?SJ4eSn5oapG9Zsmbvr6Tm3uyh+LNcrK1yfJI+218sfphImrMt8I5nlg7LB?= =?iso-8859-1?Q?Pc5qqHf6/JhpABg447CMoN4nc9xk7TP1bPft8fzEdBbSyUzwLLnJkInuc3?= =?iso-8859-1?Q?7ZKaKLMA40gHtjPy1S1w7lObnS5LROsETuT0YKIzSue16Qrgb+n6J2Lvqp?= =?iso-8859-1?Q?ASQQWA4PaxxR/0Us7/BHqxBcKO5AKGiVXJM9pn2YaFD8qSP8ybOvJI8NX4?= =?iso-8859-1?Q?6i01rRzJkHpQrk4B2MxjbtEtQZeH42IvojBVDGliHWK4DhceZpVV8pUkQX?= =?iso-8859-1?Q?emwuJi0lCWvuzauG0q/bGAyN/xnvLDbe2+t2I/aPh1Tgl/qlmJC7G+OoD3?= =?iso-8859-1?Q?C4qZKC/bufkN9imD0A/FJWkoKJoJaULl4/gAI7lXVIMbspfBBi78pxKxFr?= =?iso-8859-1?Q?OA+hFZfZuwXqEMx5ufN7VUtbuDf2+fPM36oNGJ1b/T12F6YUB+B5qvSn1f?= =?iso-8859-1?Q?CepFs+JiuX0o0KhMZdSyusfm8Pulonu3MfAQWn6J8oWRq8DrQ5WhYI3/kR?= =?iso-8859-1?Q?TBTWct660b9NO8Yx9rIfN8uAL8UieVA1ErNqnV0kesU0Y0J+/cRPj6Hww0?= =?iso-8859-1?Q?WykaU/gCRp2w24rNuYIJ4D3/hZHGIXM1dJtBbjRRQe1dHBHeqP6L4/bKY+?= =?iso-8859-1?Q?QLGkp3w/gZBIzZhawmWQy9Xk1moXuxJWoAtljsl71/WA3iO4WWa22RB3hw?= =?iso-8859-1?Q?Q5oZkyx2dqCVdkG1XIgvbH3hZ1Q5VIGhCGnvmfricKKZUZvDimkcRgIaOy?= =?iso-8859-1?Q?fvH0ZyvBZMzMCPI952IaJ5R5m2wDw6+xAvcZyhjtgH17nQaQKnoDonjXUr?= =?iso-8859-1?Q?g5DWED1bc/NRdvPnXNU4oicd0LaQWT2Oxv+oPCZCYsYC3Psar8VWO//Xzc?= =?iso-8859-1?Q?Io9h1oXsWd8e05xNAoU9OmyaHessfBTIgM5taa4AmhS+Ms6bwAZXrrGTJe?= =?iso-8859-1?Q?doXYSBkEtoswKKMvxEX5znB50tAp5mPUaOv2sxogG389vcc/gfwpu5GfjS?= =?iso-8859-1?Q?X+yKSWqJKX/7TzeHcQ5xKgZpKa1vpccKD1yVM6MlW+hBFOMjLJxGnTYBqx?= =?iso-8859-1?Q?+mkfRA1B7fhUMvpcPzxHIywOsI1tYGtmJn31g0nufDFd7TqPUOfSR41aQ4?= =?iso-8859-1?Q?c77bWQ/rSzzU67MaeMSnGGxIaErWee8OiarMCCSa9oAk2zxSf6PY3CwfIp?= =?iso-8859-1?Q?xy9wo7e0qTqF8WC1TLRt83p+aypr/iU5PiX+6sEYuUZ2A6kZwvG2LEPOgV?= =?iso-8859-1?Q?vCt/2rIEsrkeY/r4OsXJt6SgniJpTurceFjMTEXvI8jL550qaYzFvU1SNe?= =?iso-8859-1?Q?8u7g946m+rOX9gXvOHpumdFrsPNexyKOBeu2j77OTVXe2yEGBgXogugiF0?= =?iso-8859-1?Q?W+iw9lpg6PyN3enYLABzkgLKfC0McJgKhdxJO2j4AevFWPl0rWIe9ndaml?= =?iso-8859-1?Q?Fsr6Fa7f6afb/WahcNqb54FJiAnk24Q=3D?= Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: dbi-services.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: ZR2PPFF1830B877.CHEP278.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 384c02ed-2bcf-4101-850e-08de4e9b2bda X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Jan 2026 09:49:09.5493 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b9c70613-b1ea-47b7-9fdd-e6f3a67ce75c X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: UUgV1SBewspZt2TomC7L+1mFVnXJvemXw4beN5dvXuZ13U9ITFm6wrgHkrQEvJCZwp2Oz0XA30b3RQmy50u1NEJ78vy2w5ftz7tlVTg+JOQ6WMdCKN1a/xsiEHPEwJqk X-MS-Exchange-Transport-CrossTenantHeadersStamped: ZR5P278MB1982 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hi, =0A= =0A= while playing a bit with pg_locks I came across this:=0A= =0A= https://www.postgresql.org/docs/current/view-pg-locks.html=0A= =0A= "Although tuples are a lockable type of object, information about row-level= locks is stored on disk, not in memory, and therefore row-level locks norm= ally do not appear in this view. If a process is waiting for a row-level lo= ck, it will usually appear in the view as waiting for the permanent transac= tion ID of the current holder of that row lock."=0A= =0A= Given this? (I've just updated the same row in two transactions):=0A= =0A= postgres=3D# select locktype,database::regdatabase,relation::regclass,pid,m= ode,granted,waitstart,page,tuple from pg_locks where pid !=3D pg_backend_pi= d() order by pid;=0A= locktype | database | relation | pid | mode | granted | = waitstart | page | tuple =0A= ---------------+----------+----------+------+------------------+---------+-= ------------------------------+------+-------=0A= relation | postgres | t | 9673 | RowExclusiveLock | t | = | | =0A= virtualxid | | | 9673 | ExclusiveLock | t | = | | =0A= transactionid | | | 9673 | ExclusiveLock | t | = | | =0A= virtualxid | | | 9691 | ExclusiveLock | t | = | | =0A= transactionid | | | 9691 | ShareLock | f | = 2026-01-08 09:58:38.867534+01 | | =0A= tuple | postgres | t | 9691 | ExclusiveLock | t | = | 0 | 5=0A= transactionid | | | 9691 | ExclusiveLock | t | = | | =0A= relation | postgres | t | 9691 | RowExclusiveLock | t | = | | =0A= (8 rows)=0A= =0A= ... I am wondering if that paragraph is still true or at least needs some a= djustments to explain what "normally" and "usually" means? There clearly is= information about the tuple and the row level lock.=0A= =0A= Regards=0A= Daniel=