Re: Retail DDL
От | Jelte Fennema-Nio |
---|---|
Тема | Re: Retail DDL |
Дата | |
Msg-id | CAGECzQQ0xMEu3G5mctrcoQkdfcWY3u4bn_SYjFSo9+8jyzjAfA@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Retail DDL (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: Retail DDL
|
Список | pgsql-hackers |
On Mon, 18 Aug 2025 at 15:57, Tom Lane <tgl@sss.pgh.pa.us> wrote: > 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?) That makes sense, I don't think I had seen the \s ones before. IMO it would be super useful to have a \s for every type of object that currently has a \d (but those don't have to be all added in the same patchset ofcours, starting with tables seems totally sensible) > But the real issue is what to print. I think you're making this sound much harder than it actually is. I think it would be perfect if it had exactly the same info as \d but in SQL form instead of some "easy to understand by humans form". So: > should we also show its indexes? Yes > What about foreign keys to or from other > tables? Yes, both from and to > If it's a partitioned table, what about the partitions? Definitely not by default, way too much clutter. I think having a DESCRIBE keyword is probably not what we want, but adding a pg_get_tabledef function seems totally reasonable. I even proposed that at some point[1], but apparently never followed up with Kirk (cc-ed now). It could even have options for all the questions that you're asking like, so we'd "just" need to decide on the defaults: SELECT pg_get_tabledef('my_table', include_indexes => true, include_partitions => true) [1]: https://www.postgresql.org/message-id/CAGECzQRuHBs9gjPbvgabQv8XS3QRU9Ex=nH84S_1=wo4POzBzg@mail.gmail.com
В списке pgsql-hackers по дате отправления: