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 1wNzAJ-001E9Q-2w for pgsql-hackers@arkaria.postgresql.org; Fri, 15 May 2026 20:29:48 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wNzAI-001U7Q-2C for pgsql-hackers@arkaria.postgresql.org; Fri, 15 May 2026 20:29:46 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wNzAI-001U7I-1H for pgsql-hackers@lists.postgresql.org; Fri, 15 May 2026 20:29:46 +0000 Received: from mail-oi1-x230.google.com ([2607:f8b0:4864:20::230]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wNzAG-00000000oE2-0spZ for pgsql-hackers@postgresql.org; Fri, 15 May 2026 20:29:45 +0000 Received: by mail-oi1-x230.google.com with SMTP id 5614622812f47-47c941f6bdcso210371b6e.3 for ; Fri, 15 May 2026 13:29:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778876982; x=1779481782; darn=postgresql.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=1ZzlcHfk2IYhjKSBD2hMHO0L9GqBQTDZs1ntKfJ1UDI=; b=T9BZAXC6HD4jB7q7f4iaPN2Q0nuSAtkLbD2tSg5nMJJFa5XkeSb/mNJvmg3PrzrDl6 p3h+EGmK0PkIKFPgZFOdgjy+BfPbh2WGf/9svhSW+8LvrjurHut8bLzDr+617oEwMnx5 ffECuzJG5QYF0f0sLGAz87oJBi0yilsWn1x5YiKAPtbfq2ddri/H6ZMYHJzIO6v5gUla ApSDpKyrhFZbf0bK/XDASalddoUvTf3SZriZEVF0/V6wza0Qw1AUOkpeX1mmxT2GNVbd LrcydAeOE486jE6scmmcbsQBYe9Nh7scdZ83fu/2UBT/dd9wHva3F/wFNEakHCRxJuPn zpQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778876982; x=1779481782; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=1ZzlcHfk2IYhjKSBD2hMHO0L9GqBQTDZs1ntKfJ1UDI=; b=m0hDEi1ZCm5mwUVORVpbPMOKhrFy8sx9047unTtb2N46Tx898vVtkU9PTFtpmI9ok+ WtyfWrce2BpQPGtLZB4vqEEqCDwXi36jPzFRyz4zeB2Lkp0tx1FaQBHl2nE/K5lkBrmF ZpNlPrEIDvHSoboDTSg4dhhenoxeIydHL8V1ErrvuZFFCVaQIRYjCFjyJVn05ZXGLRkU 9450zdYnPZk8RmUATnKu6AvUVLL2o3WQFez73lRTd8TFWM3OK4+z7qoX7hlc5Xr62qJy /exBXpYD4CTI6AtxHCnCEHeb0gZItWfb63Cx+nwq6ZMnsDHSk3T7XspHGtkafwkCqd1o paFg== X-Forwarded-Encrypted: i=1; AFNElJ93pGaLqhmr5DdiQcqE3hwLf8wX4Hd3ccVROIOcx2NtQE7Su5pNrRDbbg7ubOsm7H3yZjiDczeXFoaVLQVs@postgresql.org X-Gm-Message-State: AOJu0Yxu5SpzAwYzlD3RsaOKKaDvvxsNpFSV1tqr/A8/Ow6wUb2w5GVh 3LSZbHD6lxAH7xG+Fi6P2uJe9/VMd00oUXAuLAqTdr7OjYrj4oTYcR2J X-Gm-Gg: Acq92OEkd+LXMO3ilTMoezAvrbkBM7GhATbeqvrwL6ia722E4RySasQSlOXC5T5YjRW g8OKyqNcv63MgwI5AQrV1Rm5bbbjQPu4ejDXZRGomoZOzsIs55GgGGh2d6qaDwtOrHUnlWgrYTx AHAEVUoK0iuG4b4Kvt6BB9Xm/tuJ/YLJEsGR5SgRSPusNAtNcDaa6q1Xpw5JlHoy1/wOS8q7vhF EmuYWVHCYbs0L3fzGe7B8NfHLDbAG595hFKcv6a+QzwKyLODufP+IPE+tU1qqv0uyhpBXxaW0NR sS7Id+zJKh2YciHVUI7CvwV0Gtp9cAE+QLr17zEJuKfkz9VcGqAOu4tVPv/6NVPAMoixl3Lbz/U pRGehi0i8MSB/RLUHc9xC9+Y0F44bkYxENzayGktMbNTsPqYgxg7FinRGwuyfQmXhxDQyqywwki 1b4Rj4CPN3F8ots3cWYJ/pUjAfKejoC2edIgwsPtobiFFenmVlH1iSDjulF6Re97A8OOWLQmmT2 yv1uPT7tqUsY4XEwsAZ/w== X-Received: by 2002:a05:6808:2391:b0:479:fbe5:3a4a with SMTP id 5614622812f47-482e57d18ecmr3981494b6e.46.1778876981897; Fri, 15 May 2026 13:29:41 -0700 (PDT) Received: from nathan (162-195-168-172.lightspeed.stlsmo.sbcglobal.net. [162.195.168.172]) by smtp.gmail.com with ESMTPSA id 5614622812f47-482ee4fa458sm1355310b6e.10.2026.05.15.13.29.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 May 2026 13:29:40 -0700 (PDT) Date: Fri, 15 May 2026 15:29:39 -0500 From: Nathan Bossart To: Sami Imseih Cc: Shawn McCoy , pgsql-hackers@postgresql.org Subject: Re: Vacuumlo improvements Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Fri, May 15, 2026 at 02:36:22PM -0500, Sami Imseih wrote: > I think there is value in expanding the vacuumlo search capability for > LOs and OIDs. We can also detect LOs and OIDs stored in composite types, > or OID[] and LO[]. All these are detectable from the catalog. > > The one complexity will be we will need vacuumlo to generate more complex > expressions for deleting the data. > > DELETE FROM t WHERE lo IN (SELECT ("data")."lo_ref" FROM t_lo); > > But, this will be more comprehensive and can cover all potential ways > an OID or LO can be used. > > What do you think? It seems worth exploring. > But with all this done, I am not sure how much this moves the needle. It may > somewhat, but it's hard to tell how much. I know I have seen users store > LO references in text or other types, so I think we still need the > documentation enhancement to call out the "data loss" potential. > > I also think it will be good for the LO documentation [1] to nudge the users > to think about using the LO extension, as is done with the vacuumlo [2] > documentation. Yeah, I think we'll have to do some combination of 1) improving vacuumlo, 2) improving the documentation to warn users about things vacuumlo doesn't catch, and 3) improving the documentation to nudge users toward the lo extension.. -- nathan