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 1uhOM9-00E3Z3-I3 for pgsql-admin@arkaria.postgresql.org; Thu, 31 Jul 2025 08:09: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 1uhOL9-00EGR7-WB for pgsql-admin@arkaria.postgresql.org; Thu, 31 Jul 2025 08:08:40 +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 1uhOL9-00EGQz-Ie for pgsql-admin@lists.postgresql.org; Thu, 31 Jul 2025 08:08:39 +0000 Received: from mail-oa1-x2f.google.com ([2001:4860:4864:20::2f]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1uhOL7-001gv4-2o for pgsql-admin@lists.postgresql.org; Thu, 31 Jul 2025 08:08:38 +0000 Received: by mail-oa1-x2f.google.com with SMTP id 586e51a60fabf-307b258983fso10386fac.2 for ; Thu, 31 Jul 2025 01:08:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1753949316; x=1754554116; darn=lists.postgresql.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=26dOLmxT/GKpWRZfVNMvFOW/paXJpWJzi3cTjZSJOug=; b=JPzTaogjJjlVWKuyJHzmYMfEi8oSDLCCaeyhkc0OiQ5VpLDefaS02s1H5FuIeLRlr2 gzrDKVEs55ZXra5BO/iCCIeW0s5WAe2EN2Bv7G7n8sB/hKJu8V1uZv4npH6t+laZHZKW 2NuhNgAgv9gaH+uhEJh6vo4UR3noLgL7Yc7XzRP9aqSisPPsfgRK4XAY05Eb7FDRdyHF KKu36uEtvZTcLopTHROBciHHOmFX59EnAk78DWbU6YEKg01eqLaNmSEAZBzab35WhG7R b6fAlFmfcLvWCP5fwgNz7OAj7nrH2hDoa9tl8B1zAB++3v0UZOFWDbx6HkkP/CceVuAp tYQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753949316; x=1754554116; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=26dOLmxT/GKpWRZfVNMvFOW/paXJpWJzi3cTjZSJOug=; b=tV514TjJYAkrCUZzbr5t//XS0y4xguHbWpUNGLn1y0VwhlUV9favd1a6NTrffUyswm 8wPb0g+i73w2XSuRbkUSYHxF8Wl0FORPl8t3IUtknCp6TYlwlwkWd1Y9dDKKNdtgetX/ RKi6x3cw55mqhYOIs5czuk4Ti7St6laScO3ZB/Sn7vM1qMoWQ99xExzHBv4Z45qf+kVn AL5qdl5M9OjXNYq3oSvASgJw7BmOFLd4c7NN1bCpR0aDDBKhTvuOS3fJR/2TBZxNEe1p i68pyo1r09cuEL6KPqhVHQUPciTnEC+vcewU6KIEuxKg1xTIGLes1R8LBmkNJRjmQurS Vr8w== X-Gm-Message-State: AOJu0YwNRPsvvgM0vkp1vs75fJdm8wdQ840hFbAgeW7QpJKCG2vC7mV5 Ha18LNip1yaamGkT12VL3rizER3VFCLKPelS+uZclcM9e/WtFMLg0XmDubkceYdHcGFLAFcd4DQ pWnlbV6thhL6DH7XbaNj9dbZA3zUApdqI9yZi X-Gm-Gg: ASbGnctML3QKHFkOTmrgYsnqBv5PgyHFh8RIOwp7dmvYjwEPxPnM+OFsNV1uhJhvSPT BLXVNvHUQc0/hue7f6X5yc202agf7jn3txGunVQjculYUfgCl8nXm+XNVpdY9ACcs+0xwCWIRhW AoEU4Q44hQxSorHdkYE//MsWR6fJD7JMJkCKIj+jLLyWTu5eRCJwOsxyqIF1hw8CM3bQDXKMscI bWgzw== X-Google-Smtp-Source: AGHT+IGARCqhCl4zXadwsdGRAWA2QuXlPWfniouVYt72H2XRDxwM+gVUKqczLTbK9chDvwDN2K//f/wweqwv8BN+p7o= X-Received: by 2002:a05:6808:2029:b0:406:4425:6503 with SMTP id 5614622812f47-4319b247f9cmr1458089b6e.3.1753949316442; Thu, 31 Jul 2025 01:08:36 -0700 (PDT) MIME-Version: 1.0 From: Fabrice Chapuis Date: Thu, 31 Jul 2025 10:08:25 +0200 X-Gm-Features: Ac12FXyw668NiYOW4NK9fD1lmKA-2xTmJ9vFIom42ACEZO3fmwiZikLoaWAm3WU Message-ID: Subject: pg_split_walfile_name To: pgsql-admin@lists.postgresql.org Content-Type: multipart/alternative; boundary="000000000000f5eff2063b3525c6" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000f5eff2063b3525c6 Content-Type: text/plain; charset="UTF-8" Hi, In the documentation, PostgreSQL: Documentation: 17: 9.28. System Administration Functions , I do not understand the position 100C in the wal filename and how the result could be C001? Any idea? Regards, Fabrice pg_split_walfile_name is useful to compute a LSN from a file offset and WAL file name, for example: postgres=# \set file_name '000000010000000100C000AB' postgres=# \set offset 256 postgres=# SELECT '0/0'::pg_lsn + pd.segment_number * ps.setting::int + :offset AS lsn FROM pg_split_walfile_name(:'file_name') pd, pg_show_all_settings() ps WHERE ps.name = 'wal_segment_size'; lsn --------------- C001/AB000100 (1 row) --000000000000f5eff2063b3525c6 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable --000000000000f5eff2063b3525c6--