Re: Retail DDL

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Jelte Fennema-Nio <postgres(at)jeltef(dot)nl>
Cc: Álvaro Herrera <alvherre(at)kurilemu(dot)de>, Kirill Reshke <reshkekirill(at)gmail(dot)com>, Andrew Dunstan <andrew(at)dunslane(dot)net>, Ziga <ziga(at)ljudmila(dot)org>, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: Retail DDL
Date: 2025-08-18 13:57:21
Message-ID: 346756.1755525441@sss.pgh.pa.us
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Jelte Fennema-Nio <postgres(at)jeltef(dot)nl> writes:
> On Sat, 16 Aug 2025 at 16:23, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> So I don't really buy Álvaro's argument above. It'd be better
>> to design to some concrete requirement that isn't either of
>> those. Unfortunately, it's not clear to me that anyone has
>> a concrete use-case in mind that isn't either of those.

> I have wanted this MANY times. I've had this as a PG user: I think
> it's literally the first thing I did when connecting to a Postgres
> server the first time. Coming from MySQL, I wanted to see the exact
> table definition, and there it was as easy as "DESCRIBE some_table".

You haven't actually defined what "this" is. For starters, do you
really want this output to be included in \d? Seems like one part
or the other of such output would be clutter, so I'd be more minded
to leave \d alone and invent some new command. (By analogy to \sf,
maybe \st and so on?)

But the real issue is what to print. In the case of a table, should
we also show its indexes? What about foreign keys to or from other
tables? If it's a partitioned table, what about the partitions?
I'm not sure this is as simple as it seems.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2025-08-18 13:58:28 Re: make -C src/test/isolation failure in index-killtuples due to btree_gist
Previous Message Dominique Devienne 2025-08-18 13:40:28 Re: Identifying function-lookup failures due to argument name mismatches