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 1jsk6r-0005JY-CE for pgsql-novice@arkaria.postgresql.org; Tue, 07 Jul 2020 09:41:53 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1jsk6q-0007JR-7S for pgsql-novice@arkaria.postgresql.org; Tue, 07 Jul 2020 09:41: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 1jsk6p-0007JJ-Um for pgsql-novice@lists.postgresql.org; Tue, 07 Jul 2020 09:41:52 +0000 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1jsk6m-0000wB-GM for pgsql-novice@lists.postgresql.org; Tue, 07 Jul 2020 09:41:51 +0000 Received: by mail-wr1-x441.google.com with SMTP id b6so44415526wrs.11 for ; Tue, 07 Jul 2020 02:41:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cybertec-at.20150623.gappssmtp.com; s=20150623; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=DGSLOp8+/zBaCBNkN9/NfORs4xxDH9nitloKmekzsPw=; b=fvjx4xWzJnNuvaWRQf6L4cpbOPZ1aVTzWV/dDbPpEb4/Y1pEn7QTnatth4Hp/WNmJX 4Bnl76upYKC5hx2tNYNamhGPxr+iifttBDSU0J0VqCqp+Cu+hsMqqlQSo1b8V9ZB5tov epsEOlZeV8vTU42uE97jdv8nV9EapIHoBpT8dTn7NSc0Vl7waX2wnaQoYtCeG+6OPoIi HjqXw8OSmsfFwD42Hf7n6/8dcOo6UVv2L6dXdqRQhQzPh+elKlaM8ebQfBi6Mlbm5Hyw pkZA9U8wRC/tGnN8klohfz1f/MPEo5auZETjQXOUCV4iZMC1WVSN2LSq9vxRHP0HwP5g nhVA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=DGSLOp8+/zBaCBNkN9/NfORs4xxDH9nitloKmekzsPw=; b=EPame45epjUF/0359t3jc3frmjoVB54tMRPzw6PRpXQvTGPohVQ1CeHtSdNg7n9llt z3Z9BH+toAdabo3j7Q12V+rfdVty0UguRk4Rj6Ml5WpKf0WoUrK542++4uOzY3cpXXQM Uw+95mUERdpVle3juUfwtY0CDDMdeELhtDfpVaGCNfpoZ7+lcO66hwLzdS5woWrjwdk6 Mxd4YuMSvlvE3GpURprfRLUtFxtzMkXcWNnSG+fZlH8VJwy+cPOjecMBIVyHQcY/l5dG mf35+74pYPTv5PlJcUj8TwTRs6o+vdfaD/xx9m/jYrPzcPpwSStLvY35dUth7Ni0/0I9 Nbhg== X-Gm-Message-State: AOAM533+jzXMq9/MSSzkb/HMMmK62AVcPi4euiGvK2xdwSnUXFruTc3D mWZ5aBjpzf4BTRxbUk/FzvBamQ== X-Google-Smtp-Source: ABdhPJxCEx/CIbCXn6QDWOD4bqzGQCK4OPUUV21hJEw7PB16j3YQx7YKNvvjbxs07w0NHFmJ4LosBg== X-Received: by 2002:adf:efc9:: with SMTP id i9mr56166525wrp.77.1594114907791; Tue, 07 Jul 2020 02:41:47 -0700 (PDT) Received: from localhost.localdomain (217-149-172-183.nat.highway.telekom.at. [217.149.172.183]) by smtp.gmail.com with ESMTPSA id f16sm315318wmh.27.2020.07.07.02.41.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Jul 2020 02:41:47 -0700 (PDT) Message-ID: <96e63393bffdf23b4ea853a9ddebed1ed0acc670.camel@cybertec.at> Subject: Re: What's the best practice to compare the transaction with the checkpoint? From: Laurenz Albe To: Jialun Zhang , Tom Lane Cc: pgsql-novice@lists.postgresql.org Date: Tue, 07 Jul 2020 11:41:46 +0200 In-Reply-To: References: <0bf46f63bd9f7e57a83710644a0ed4cf5f6c52f0.camel@cybertec.at> <0e86755d-57aa-9c31-31d2-f90b61456c96@verizon.net> <1377221.1594050275@sss.pgh.pa.us> <1380011.1594053288@sss.pgh.pa.us> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.32.5 (3.32.5-1.fc30) MIME-Version: 1.0 Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk On Mon, 2020-07-06 at 17:50 -0400, Jialun Zhang wrote: > > The replay of step 4 would need to perform something like "delete the file > > for V if it exists, but don't complain if it does not", since we couldn't > > be sure which state we'll find on-disk. > > What I am actually asking is that, is it possible that the replay depends > on a deleted value, which has been physically removed by a VACUUM. > Bear with my very basic knowledge in Postgres. The WAL records that affect your out-of-line stored file would be written by you, so you'd have to make sure that replaying such WAL records works whether the file is present or not. Yours, Laurenz Albe -- Cybertec | https://www.cybertec-postgresql.com