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 1kF1aa-00017M-5k for pgsql-hackers@arkaria.postgresql.org; Sun, 06 Sep 2020 20:48:40 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1kF1aX-0004DU-M7 for pgsql-hackers@arkaria.postgresql.org; Sun, 06 Sep 2020 20:48:37 +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 1kF1aX-0004DN-Aq for pgsql-hackers@lists.postgresql.org; Sun, 06 Sep 2020 20:48:37 +0000 Received: from mail-io1-xd29.google.com ([2607:f8b0:4864:20::d29]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1kF1aP-00074n-OB for pgsql-hackers@postgresql.org; Sun, 06 Sep 2020 20:48:36 +0000 Received: by mail-io1-xd29.google.com with SMTP id b16so12144652ioj.4 for ; Sun, 06 Sep 2020 13:48:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telsasoft-com.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=bPdHnEd+KdoVYkcaN9Z5nJ1VnZWScsQYAzkFVBZI2fs=; b=fazZv1No1+V/aJXX8P5Vky2T0ugBg9JpPq6Y5D3TUuc9jmMc+P8ngzNMk5iugBVrFW /ckryPzg5OrV6Ke0Q3xLQSHWpnal+JjGZCrS2enCfCc3XuwkVsauipAhr6CKHieJZnAp govxsCDAPCuImSFSTfCmPDLxAz4biCBVpAKcQ2JsGoOSrKHyty5gUuj2avXo5+HFMWyV +xlyNbPS0u0KP6n2k+swDUk/SJ/PcbQjoC/Tw8CMf4xJcrrL6O5PgZH7BOjEypEOzMv6 ZeEcf4K/IedPupB67LbjE0l6Zi+WfhK7m1MtlXKE5XZ4h9hGU807JmJS4VrloS6NpiJf I9Ow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=bPdHnEd+KdoVYkcaN9Z5nJ1VnZWScsQYAzkFVBZI2fs=; b=ZGIqgTAEvP0gVyC3SjgUtnisL0QTRdDDn1Yvf38iKmDbjjnQWN/PlhKJn2upbnXgi7 YXj7rz3hbFQxJmMCf8se9fvoX8wcuG8ffbZxsn6gVyIO+ZIr8tFneHhneOHXuFNG/RMe /S6mrsk44U2yQgI3hgEmMZmgS4WJYryE7CI7A4bhumOsBOufQJVHs0ZdL6U762+427uo HPokZTguR0TTbYE+Uwe3xaezcfI0JbtPPduTh+NH1DaTDFJQnqoI00LciBLQuz2WwrZZ V1NfIOK0pRz1hnnQvdMhq7OpoJaNOJqXACKAYmQRMXHtHfSVCidQG4zfq3/7gxCUqfFm iH6A== X-Gm-Message-State: AOAM532AsQ2YLw2qpf3COjeSzo3QYoA2LB9Zpm7AkBAkhn0APrfTjdC1 Tl43wSCi1D+0iYxQjy3lEn/CRw== X-Google-Smtp-Source: ABdhPJyBjqU2/rRJaCacVdo4KmspYz5lcvRHzRpLKcmt9UKvAdzTzgZSUccel3nA/pweL+Yn6oBXWw== X-Received: by 2002:a02:cbda:: with SMTP id u26mr16666461jaq.71.1599425307878; Sun, 06 Sep 2020 13:48:27 -0700 (PDT) Received: from pryzbyj.telsasoft (charmander.telsasoft.com. [50.244.222.1]) by smtp.gmail.com with ESMTPSA id d23sm5977892ioh.22.2020.09.06.13.48.26 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 06 Sep 2020 13:48:26 -0700 (PDT) Received: by pryzbyj.telsasoft (Postfix, from userid 1000) id BE34B8002DC; Sun, 6 Sep 2020 15:48:23 -0500 (CDT) Date: Sun, 6 Sep 2020 15:48:23 -0500 From: Justin Pryzby To: Peter Geoghegan Cc: Alvaro Herrera , Georgios Kokolatos , PostgreSQL Hackers , Tomas Vondra , Tatsuro Yamada Subject: Re: v13: show extended stats target in \d Message-ID: <20200906204823.GC6744@telsasoft.com> References: <20200901011429.GZ5450@telsasoft.com> <20200901210825.GA20170@alvherre.pgsql> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.4 (2018-02-28) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk On Sun, Sep 06, 2020 at 01:06:05PM -0700, Peter Geoghegan wrote: > On Tue, Sep 1, 2020 at 2:08 PM Alvaro Herrera wrote: > > It does need some separator. Maybe a comma is sufficient, but I'm not > > sure: that will fail when we add cross-relation stats, because the > > FROM clause will have more relations and possibly have commas too. > > How about a line break? That seems like a simple solution that takes > all the competing concerns into account. > > The fact that that will stand out isn't necessarily a bad thing. I > think it's a good thing. Like this ? postgres=# \d t Table "public.t" Column | Type | Collation | Nullable | Default --------+---------+-----------+----------+--------- a | integer | | | b | integer | | | Statistics objects: "public"."t" (ndistinct, dependencies, mcv) ON a, b FROM t Are there any other examples of similarly related information spread across lines ? I find that to be too verbose ; I guess it could be shown only in \d+, which is true of column stats. It's weird that the quoting rules are different for the stats object vs the columns and the table. The schema qualification is also divergent. Also, "public.t" form is technically wrong (the objects should be *separately* quoted), but seems to be used all over. If the table or schema has a dot, it's ambiguous what this means: Table "public.public.t". -- Justin