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 1wMzpg-000V7O-1j for pgsql-hackers@arkaria.postgresql.org; Wed, 13 May 2026 03:00:24 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wMzpd-006scU-2x for pgsql-hackers@arkaria.postgresql.org; Wed, 13 May 2026 03:00:22 +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 1wMzpd-006scL-24 for pgsql-hackers@lists.postgresql.org; Wed, 13 May 2026 03:00:21 +0000 Received: from mail-ot1-x334.google.com ([2607:f8b0:4864:20::334]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wMzpa-00000000It5-2JtX for pgsql-hackers@postgresql.org; Wed, 13 May 2026 03:00:20 +0000 Received: by mail-ot1-x334.google.com with SMTP id 46e09a7af769-7dca00c1591so2130525a34.3 for ; Tue, 12 May 2026 20:00:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778641218; x=1779246018; 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=y9qwuoiF56162Vtfw8F8kEBzL2trPf/5eVo4RH84ysE=; b=IGP+q0h+BKTV7QDvwF/K1FLPUac3b7y9EMJ2yAUaPVtNHuPAUzEletSaRQN2lc4qZe 9hOb+GDKtXEn1oCCciRLKbTtl3763zXlLinVg08Pg6uAeIb81yEbyxjoVqqQPMgum/nJ MMkDJHECh6AYsDjto8JMTDJPiMKjmFMPAime4o5m8boYItyb+zjlMU/2w5EN2zrSjQGL LHZzV/WwO2ovR7HzVTTRwUN8SqGljM48m3w8hVZpLNaLoqsiKrvRjbVSDTvZukzRmyMv polzfbfxW4kDRpVMFFggDVBS4KjqudqrTvVx+DIZf14KloZyWGjIwatF1m1knv3BS7+2 wrdQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778641218; x=1779246018; 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=y9qwuoiF56162Vtfw8F8kEBzL2trPf/5eVo4RH84ysE=; b=Bcmsr0BBkX2RjWnFK/ZCS3Ur1gpAgJbbYu+McIVWYRH9X8q0lURKVfc5OFZ+Xz7yv5 8yPBl3bL9vt8F8/yi3XtBxyKmc+8p9M7K/O3I+Fz6zi7HQd9/baZMQ7i6eOrdXkwZtcj hCOVMqD17HLy/J3MmlPbUsS08b6LOmQty6eEzSruEDCWTNcGaCMqaIDBSGRmhHjMw1LP SOYRmoeEocb0fXCELXFZ4jT6VmtFpHzFOGSo9BKYFjJ2EoLJENdhBiNjjSbYPZnO2CHn NO6EKmAgMHQuYXVIB9jKVnI4bPB2chyEXQB4erm5fCz4aYnKsZUoYR74lTjg5a8hg20L 5Z+Q== X-Gm-Message-State: AOJu0Yx2K/kHg20WaavFcKbmukWWv+RyNkJFccoluIpo31tUGGX6FqTh hwYubuAaF8hNLHvQXzrj7YWV7V/EuZQiJhOfW+8i4IEYZ475IbyXPg5nOWlkAA== X-Gm-Gg: Acq92OGJFL0VzZqvWYmEK1wok4cwCl6cZxq8zjG6naRIgMmDxkewg4tDTZ57j19UADN 5AJaLW4lpho1KbMZRzapc2D4UUXN+mnKIRVj2pjI+JksDVTsqoE5e5Jpuke3A2KImkG9T+SUg8o 2WW0ecN71leobzNnx2/O3AgcmHOFrJ8lXvYUFH/Utt3KaxrTOaasDEn821lQy9X/uHEwpzzmNXD wv1nkMwaye1TEBBr0JkJmRHWMKZo/C4EVi1hrl02s6FBPihAkXzBXtKMxS8CpMirXH/BqvP5pYF oDNZ8xyFZozFB/rt1IeASrzXaQNmfPrqpQ8wyDW3osi4jaOcWYJD+TCJvsppkFT88tI20FqsOjh DfpKX78OhD785WQHsex2xaq7cd5LC8DVlbPDYyFwIcd3iunxBCeRlidKHiy5lTBKad1tBIok6e2 6cl5p6maQD8OA98C9Xm7aTwhow4VKbM26Q2luXdElM4k4yr2bCKo4sXJsSggb65Yos+fYaKc6wt HC97A4Wis0ZOMJ1/uO6vg== X-Received: by 2002:a05:6830:4118:b0:7d7:c96c:c5d6 with SMTP id 46e09a7af769-7e3da031e93mr975935a34.1.1778641218432; Tue, 12 May 2026 20:00:18 -0700 (PDT) Received: from nathan (162-195-168-172.lightspeed.stlsmo.sbcglobal.net. [162.195.168.172]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-7e367c05393sm10701702a34.9.2026.05.12.20.00.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 May 2026 20:00:17 -0700 (PDT) Date: Tue, 12 May 2026 22:00:15 -0500 From: Nathan Bossart To: Shawn McCoy Cc: 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 Tue, May 12, 2026 at 11:34:10AM -0600, Shawn McCoy wrote: > Ideally, vacuumlo could be improved to: > - Resolve domain types back to their base types when scanning columns > (using pg_type.typbasetype), or > - At least emit a WARNING when it encounters columns with domains over > oid/lo that it is skipping, so the user is aware. Commit 64c604898e added the note about domains to the docs. Unfortunately, neither that nor the corresponding thread [0] offer any clues as to why vacuumlo doesn't resolve domains. The commit history for vacuumlo has been pretty quiet for a long time, so maybe it's just been overlooked. > At minimum, I can submit a documentation improvement to make the > data-loss risk more prominent. The current parenthetical note is easy > to miss. Improving the documentation seems reasonable, too. Another thing we could explore is allowing users to specify which tables/columns refer to LOs, perhaps with a user-provided query. One wrinkle is that dblink allows specifying multiple databases, and presumably each database will be a little different. Separately, do you know whether users are using lo_manage() at all? And if not, why? [0] https://postgr.es/m/BAY164-W265A089BD32F8901A686C9FF430%40phx.gbl -- nathan