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 1vw2je-00H5zS-1r for pgsql-hackers@arkaria.postgresql.org; Fri, 27 Feb 2026 18:38:47 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vw2jd-005dQo-1e for pgsql-hackers@arkaria.postgresql.org; Fri, 27 Feb 2026 18:38:45 +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 1vw2jc-005dQ5-1T for pgsql-hackers@lists.postgresql.org; Fri, 27 Feb 2026 18:38:45 +0000 Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1vw2jR-00000001Xn4-30vn for pgsql-hackers@lists.postgresql.org; Fri, 27 Feb 2026 18:38:43 +0000 Received: by mail-wr1-x42a.google.com with SMTP id ffacd0b85a97d-4398dd671daso2588860f8f.0 for ; Fri, 27 Feb 2026 10:38:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cybertec.at; s=google; t=1772217512; x=1772822312; darn=lists.postgresql.org; h=message-id:date:mime-version:comments:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=tgql3Xobr+bXvpokqLULAYpqRYVt7a1Kr5fs3fRUdgI=; b=S4CxVvqCRDyx1eLQ3Gufzc19Iwj2vfWWTU7QfIH61GczKVkBBLmnRzE26dFCuJAzwT v41lccoJWO6ASdvQVMs/cO0JvbpzDLVwdTCXqYc3sICh5ujS2CXdfRevsJX1LjtJlBme 3qowOktfnfWFJgkYFreXVhQw03suR0xxDVJiCtIM2eyCHUFp+GYbfR93q4A7SyYTmv8R UMBsI6yWhtmS2xtkMFrFsY6tJF16WyYglwY3XzDtWry+cJaZlfNW1oTbYCFjTO+dq0iD 8vH7aPgsmb9QmKWjcIljseG7Gf2HD1o9k4gq8UMpYYLvpXdrNc3eSvL5P3so9HzwNnEL LmDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772217512; x=1772822312; h=message-id:date:mime-version:comments:references:in-reply-to :subject:cc:to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=tgql3Xobr+bXvpokqLULAYpqRYVt7a1Kr5fs3fRUdgI=; b=HOeXgVpGVh2dmPgsfUx5X9SQCu68So2PeEfA/br6baRN1CL2iaW1z7az+7DbFceB/N k3KWcxa8UAxWQzcipLZN4dRcui2Svc0gY8doNYP03EFclfy7TXKPjxM8QXWOPvTRUXb1 Nk8koEvs/jmVEHl832yZkPhyTVZKKAcJtR3rJWvCkAeyd5sRYkk3awS/rlgrPd1+T+JF /JC6Vkk400pvwOBScuyuu0IAJFgk8CQlO8YG80LifdGAC9fisaiGggY+giE5J7MmboOt NPe25/k6W0r7lcBJVjisCVuDqvo+p1wmqboM9ejwSRal7YGz9tD7atx7N4LbNPjie6yz we4w== X-Forwarded-Encrypted: i=1; AJvYcCXO8lx0aW7akz7pe2emU8WAMUFGFhPQOOItYcTC18IvDIczIvbEIU1UjvuZxmOsnBZ3PCd7N/1R6vXW6BDK@lists.postgresql.org X-Gm-Message-State: AOJu0YyKi9dC9OxaY9nb9GZBvPb9wkyYH9VJXC39heTusXMtGILfEYpc u+IkRKnxxJZNlrytnZkumWMoINrlH++NQf4lrZeZbX0c4rIW/B1mx3SNDqifovOczik= X-Gm-Gg: ATEYQzxzkjFc/GHc4oQE/Z/7B7dWaeR2onm9oLNz4spJ1OXJnJzckA3J471ZsybfH57 5kdROHfGZLmwe6LqdanMF/QHhTIrpmVw4al8hn8pak9dwa/s+wV3h+AJR4Z6ROkM+AxG1H57Eqx UzbmVklycO5ne5/laEZdo/THJJOQjQZO2TRAI6H7kMuJBl+WdahXy1m6fPEuzVxmw1mEeOhD9Fn VhPJ6RUuhAD2gicfe0LeLnqO3wvlwOxsFycdfqv7/Jj/fcSo/UbqotYcC08sKH1IuiLWzryJhl0 lF8qNLSTzRqKh6eZBfpSUMPXbgbzRyALzYraXYQ/6P/8C/XDMTBTW0mClCfleT3vekyqWKXcAx0 cCRnApvXFZAntsCNJlMVSdO7n30VELwypnBBCzfnLGCeEom5wPS+jrh1fgDYOsT9s/DCv060TBX zYZezMhq6RH4UyRKzi+N4b1126NzB60bPJbE6D X-Received: by 2002:a05:6000:400d:b0:437:678b:83c2 with SMTP id ffacd0b85a97d-4399de55755mr6363498f8f.54.1772217511278; Fri, 27 Feb 2026 10:38:31 -0800 (PST) Received: from localhost (109-81-168-142.rct.o2.cz. [109.81.168.142]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4399c71b498sm8722761f8f.15.2026.02.27.10.38.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Feb 2026 10:38:30 -0800 (PST) From: Antonin Houska To: Alvaro Herrera Cc: Mihail Nikalayeu , Pg Hackers , Robert Treat Subject: Re: Adding REPACK [concurrently] In-reply-to: <97234.1772046253@localhost> References: <202602251618.dpgvox64vziz@alvherre.pgsql> <97234.1772046253@localhost> Comments: In-reply-to Antonin Houska message dated "Wed, 25 Feb 2026 20:04:13 +0100." X-Mailer: MH-E 8.6+git; nmh 1.8; GNU Emacs 28.3 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Date: Fri, 27 Feb 2026 19:38:29 +0100 Message-ID: <87648.1772217509@localhost> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --=-=-= Content-Type: text/plain Antonin Houska wrote: > Alvaro Herrera wrote: > > > On 2026-Feb-25, Antonin Houska wrote: > > > > > > Hmm, so on the apply side when reading the file, we would first reach > > > > each toast attribute value, which we know to insert directly to the > > > > toast table (keeping track of each individually toast pointer as we do > > > > so); then we reach the heap tuple itself, we [... somehow ...] interpret > > > > these external indirect toast pointers and substitute the toast pointers > > > > that we created. So we never have to construct the entire tuple, or > > > > indeed do anything else with the toasted values other than insert them > > > > into the toast table. > > > > > > Yes, that's what I mean. > > > > Makes sense. Would you be able to try and implement that? > > Yes, I'll try in the following days. My proposal is in the 0005 part of this series - a separate diff just for now, to make review easier (the diff also contains a few lines of related refactoring, I hope it's not too disturbing). The changes we had in 0005 ("Use background worker ...") so far are now in 0004 ("Add CONCURRENTLY option ..."). -- Antonin Houska Web: https://www.cybertec-postgresql.com --=-=-= Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename=v36-0001-Add-REPACK-command.patch Content-Transfer-Encoding: quoted-printable