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 1vc9Ig-002UBj-1a for pgsql-hackers@arkaria.postgresql.org; Sat, 03 Jan 2026 21:36:43 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vc9Id-00DzUK-38 for pgsql-hackers@arkaria.postgresql.org; Sat, 03 Jan 2026 21:36: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.96) (envelope-from ) id 1vc9Id-00DzUB-21 for pgsql-hackers@lists.postgresql.org; Sat, 03 Jan 2026 21:36:40 +0000 Received: from mail-qt1-x833.google.com ([2607:f8b0:4864:20::833]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vc9Ic-00423g-2U for pgsql-hackers@lists.postgresql.org; Sat, 03 Jan 2026 21:36:39 +0000 Received: by mail-qt1-x833.google.com with SMTP id d75a77b69052e-4ee19b1fe5dso150448151cf.0 for ; Sat, 03 Jan 2026 13:36:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767476197; x=1768080997; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=hWnedp2RljllxPK/0WWCPV1+mbvJh6fsKE0dEGK09t0=; b=U3ZHQdt8yV4BbTEgzw28CiUwyiTqdt/Gu6UBKDbaUpQeB0HjMtq0onrVuC8yFEHxOi DicQlhVJajtpVDQMdbRtJ6G+PlCbD/lu2KngYNhAv+YG46TD4JvEviTvHH58XjjT73p9 GMGNYJjZNQNqFN+4mKqzxGU61bB6G10mzA2XvSG2VEQh0SfFKJtXvzKBiNMSE6U901Qv Gwe52dGN6zhFZvMq0W6rzzUzbJbyHstVMTggb2vpg1Drk74O5QzQ5espPJfJdX64TKVt 7JPRD+2vWc1Ejxzp2wDOMTxS8Tt9EgTB3yHlJwz5ZvBLNEXgEuDWz2O4mY8rwqlgQRE2 I9xg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767476197; x=1768080997; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=hWnedp2RljllxPK/0WWCPV1+mbvJh6fsKE0dEGK09t0=; b=Lkg52HFx/3dsKQJag/J+C+8CkvrKAsLWgTRlgcFqa/+Eo3AUXePbR2dGAeY5aRS8d3 Xud+rfNiue8HQawWYhmD03rnMNAPs14cuqiuLwdf6Qe1mrI00EXGGFrcmihaI+Otg7RG yAQHVTnWGYpvCA41s0WYNz317hUw243bDGCKDXo492CNkkbHS74oPoVtuC9/Y2pFgtcg 6Nd7ShpGXQvlgqV2xn40T1gOZlaVg5zXzHRL9FYb6lt2mAPmKSMAuod3Xs0cOkRufsd7 zN0SF1+2xwqZQVEDwvL/oRvqK67NKcSsOld7X0ADwfE/el13hI5DP+PGwD89Oo2qyHqm bfJg== X-Forwarded-Encrypted: i=1; AJvYcCXeRu13pGHlXy2Amsk8Uur+Mh1QWjU9LEiS8E903uc3eIjBwZA29XUGDUeDiEZtoxSJTOvdKKx1VovDwgnc@lists.postgresql.org X-Gm-Message-State: AOJu0YxnkMwVtNu2SjwAGM5t8ADGzcWhVkzdDtS5XAv94WwUxRRpubfv rz2wkEtqbeC2dLExKEvxQXMmZH+cB9wZayKXiruyVXTe9s8vocOAlrLUQ7BrcDUhDdOEG6VzbjB U+c42ZWt26aUIH/gyVnd74NI/+ljNLgA= X-Gm-Gg: AY/fxX602VN6LG4M6QTfe9dM5E5mCY+CaxMCuo8kMYjjKYPAa+ia0YGuSDTwsAqyZXu kh252TVg60lNeO/5LrF7b9bsgxatJgQZ8SneY9MuYzpMUD0/uXnewGnczfGKif23mGVyGaqULH0 tR2Vq/xnYQiNVuuKTGKbo8CVX8/w8T3MhrrFq7AZfWvr7J9VQnjqDecde7DK8ivUkW6fdSKk5yr UamG8Zo//3bR9cVRcTpla0tVAUGbPbVXtMYJZXNj+cXS8MUfTPePNY3U7URX9kwja0JKoT9/ayZ AngsAVNG X-Google-Smtp-Source: AGHT+IF+rstZ8g72P11/XyydyhtUsGgHvQbqe/A9Fd32dF6Rc7yz6EWiQqmhedrvr2/Rl9dr9rRCTaUMwb4UYvr6IvY= X-Received: by 2002:a05:622a:5983:b0:4ee:4128:bec0 with SMTP id d75a77b69052e-4f4abdca2ddmr672987041cf.69.1767476197532; Sat, 03 Jan 2026 13:36:37 -0800 (PST) MIME-Version: 1.0 References: <2wk7jo4m4qwh5sn33pfgerdjfujebbccsmmlownybddbh6nawl@mdyyqpqzxjek> <6BC5DBAB-6084-4BB8-8450-52E9648AB021@gmail.com> <7F5BCD7A-764D-4D8D-8E27-6F2CAAEA1CEE@gmail.com> In-Reply-To: From: Kirill Reshke Date: Sun, 4 Jan 2026 02:36:25 +0500 X-Gm-Features: AQt7F2r073PHxhYsLYJcxW2i9b7SMdWBaQZzEBMKL3uiihL96ZQTk2kuf6uLoAY Message-ID: Subject: Re: eliminate xl_heap_visible to reduce WAL (and eventually set VM on-access) To: Melanie Plageman Cc: Chao Li , Xuneng Zhou , Andres Freund , Robert Haas , Andrey Borodin , PostgreSQL Hackers , Heikki Linnakangas Content-Type: text/plain; charset="UTF-8" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Tue, 23 Dec 2025 at 06:18, Melanie Plageman wrote: > > Right, it is totally okay to change function APIs in a major release. > My point was not that it wasn't allowed but that if people are getting > useful information returned from that function, or if we think we > might want that information again in the future, we should think twice > before changing it. But, in this case, I think we don't need to worry > about it. > > - Melanie At first glance this change looks sane, and I do not find any reason why table_scan_analyze_next_tuple needs knowledge about OldestXid. But I am not aware of this function design discussions, maybe OldestXid is here for a good reason. After thinking about it for a week or so, I would actually suggest moving forward with v31 (Remove OldestXmin from TAM). I think this is a low probability of getting complaints about that. Also, we're breaking ABI, so we will know about any important use-case not long after 19-beta1. Another user of extensible TAM, Cloudberry [0], does not use OldestXmin also. I also did not find any user of scan_analyze_next_tuple other than postgresql itself with http://codesearch.decbian.net/ . Using code-search on github I found [1]. Looks like this does not need OldestXmin either. [0] https://github.com/apache/cloudberry [1] https://github.com/hydradatabase/columnar/blob/main/columnar/src/backend/columnar/columnar_tableam.c#L2080C68-L2080C78 -- Best regards, Kirill Reshke