diff --git a/doc/TODO.detail/psql b/doc/TODO.detail/psql new file mode 100644 index 0000000000000000000000000000000000000000..5f621d4cc35ae76722d02f3efe3a4b3be45b983a --- /dev/null +++ b/doc/TODO.detail/psql @@ -0,0 +1,1725 @@ +From pgsql-hackers-owner+M48909@postgresql.org Thu Jan 8 21:54:03 2004 +Return-path: +Received: from noon.pghoster.com (noon.pghoster.com [64.246.0.64]) + by candle.pha.pa.us (8.11.6/8.11.6) with ESMTP id i092s2X02439 + for ; Thu, 8 Jan 2004 21:54:02 -0500 (EST) +Received: from svr1.postgresql.org ([200.46.204.71] helo=postgresql.org) + by noon.pghoster.com with esmtp (Exim 4.24) + id 1AemmG-0002Wx-5B; Thu, 08 Jan 2004 20:53:36 -0600 +X-Original-To: pgsql-hackers-postgresql.org@localhost.postgresql.org +Received: from localhost (neptune.hub.org [200.46.204.2]) + by svr1.postgresql.org (Postfix) with ESMTP id 88703D1B46E + for ; Mon, 5 Jan 2004 02:00:10 +0000 (GMT) +Received: from svr1.postgresql.org ([200.46.204.71]) + by localhost (neptune.hub.org [200.46.204.2]) (amavisd-new, port 10024) + with ESMTP id 72572-01 + for ; + Sun, 4 Jan 2004 21:59:23 -0400 (AST) +Received: from rwcrmhc13.comcast.net (rwcrmhc13.comcast.net [204.127.198.39]) + by svr1.postgresql.org (Postfix) with ESMTP id DD336D1B454 + for ; Sun, 4 Jan 2004 21:59:04 -0400 (AST) +Received: from lorenso.com (c-24-1-26-144.client.comcast.net[24.1.26.144]) + by comcast.net (rwcrmhc13) with ESMTP + id <20040105015908015005cvvee>; Mon, 5 Jan 2004 01:59:08 +0000 +Message-ID: <3FF8C4E6.9090008@lorenso.com> +Date: Sun, 04 Jan 2004 19:59:02 -0600 +From: "D. Dante Lorenso" +User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.6b) Gecko/20031205 Thunderbird/0.4 +X-Accept-Language: en-us, en +MIME-Version: 1.0 +To: "Alex J. Avriette" +cc: Bruce Momjian , + PostgreSQL-development +Subject: Re: [HACKERS] psql \d option list overloaded +References: <3FEE6DFB.9040408@lorenso.com> <200401040125.i041PLR14687@candle.pha.pa.us> <20040104191322.GD8524@posixnap.net> +In-Reply-To: <20040104191322.GD8524@posixnap.net> +Content-Type: text/plain; charset=ISO-8859-1; format=flowed +Content-Transfer-Encoding: 7bit +X-Virus-Scanned: by amavisd-new at postgresql.org +X-Mailing-List: pgsql-hackers +Precedence: bulk +Sender: pgsql-hackers-owner@postgresql.org +X-AntiAbuse: This header was added to track abuse, please include it with any abuse report +X-AntiAbuse: Primary Hostname - noon.pghoster.com +X-AntiAbuse: Original Domain - candle.pha.pa.us +X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] +X-AntiAbuse: Sender Address Domain - postgresql.org +X-Spam-Checker-Version: SpamAssassin 2.61 (1.212.2.1-2003-12-09-exp) on + candle.pha.pa.us +X-Spam-Status: No, hits=-4.8 required=5.0 tests=BAYES_00,HTML_MESSAGE + autolearn=no version=2.61 +Status: OR + +Alex J. Avriette wrote: + +>On Sat, Jan 03, 2004 at 08:25:21PM -0500, Bruce Momjian wrote: +> +> +>>>I finally figure it out, I just end up forgetting again later. I still +>>>have no clue how I'd find the same data without using psql. In MySQL +>>>I can run those queries from PHP, PERL...etc. I know you can find that +>>>data in system tables in PostgreSQL, but I don't wanna muck around with +>>>all that. I just wanna do something as simple as MySQL. +>>> +>>> +>>[ Moved to hackers.] +>> +>>I am starting to agree that our \d* handling is just too overloaded. +>>Look at the option list from \?: +>> +>> +>>I like the idea of adding a new syntax to show that information using +>>simple SQL command syntax, and putting it in the backend so all +>>applications can access it. I know we have information schema, and +>>maybe that can be used to make this simpler. +>> +>> +>Bruce, while I agree with you about \d (and all its children), as well +>as the querying we talked about on irc, I disagree with the notion of a +>"SHOW DATABASES" query. This is one of the things that irritates me +>about mysql is the pseudo-sql that everyone has come to accept ... It doesn't +>make sense to create pseudo-sql, when all you're abstracting is function-macros... +> +Anything other than simple, short commands is a waste, IMHO. I can easily +remember SHOW DATABASES and SHOW TABLES and DESC , because they +reflect +my intensions directly and 'make sense'. + +Using the slash commands works if you are familiar with them ... sorta +like 'ls' switches (I type 'ls -alF' without thinking about what those +switches do because it's embedded in my head from years of repetition. +Any other flags to 'ls', and I gotta go hit the man pages.) + +What's more important is the ability to use these commands from any +interface not just 'psql' client. I think 'psql' already has the slash +commands. No need to create NEW slash commands there... + +>If you want to find out how to show the databases in sql, use psql -E. +> +> +Have you actually done that? OMG! + +1) Using System Catalogs ... (from psql -E) + + SELECT n.nspname as "Schema", + c.relname as "Name", + CASE c.relkind + WHEN 'r' THEN 'table' + WHEN 'v' THEN 'view' + WHEN 'i' THEN 'index' + WHEN 'S' THEN 'sequence' + WHEN 's' THEN 'special' END as "Type", + u.usename as "Owner" + FROM pg_catalog.pg_class c + LEFT JOIN pg_catalog.pg_user u ON u.usesysid = c.relowner + LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace + WHERE c.relkind IN ('r','') + AND n.nspname NOT IN ('pg_catalog', 'pg_toast') + AND pg_catalog.pg_table_is_visible(c.oid) + ORDER BY 1,2; + +or ... + +2) (using information schema ... little better) + + SELECT table_name FROM information_schema.tables WHERE table_schema += 'public'; + +or ... + +3) like MySQL does it... + + SHOW TABLES; + +Lemme think about which one I prefer ;-) Uh, Ok, I'm done thinking +now. hehe. + +There's something to be said about the 'SHOW'and 'DESC' sql-extensions +added into MySQL. Newbies can really 'get' it quickly. It's what really +sold me on MySQL when I first learned it. For me, it's like: + + 'dir' in DOS, + 'ls' in Unix + 'SHOW' in MySQL + ??? in PostgreSQL ? + +Sure, with time as my database needs grew and I matured as a developer, +I eventually gained more respect for PostgreSQL and have made the switch +even without this feature, but to this day, I really think MySQL *did it +right* with those extensions. You can't become a PostgreSQL guru without +being a newbie first. I vote we make it easier for newbies. + +Dante + + + +---------------------------(end of broadcast)--------------------------- +TIP 5: Have you checked our extensive FAQ? + + http://www.postgresql.org/docs/faqs/FAQ.html + +From pgsql-hackers-owner+M48908@postgresql.org Thu Jan 8 21:50:03 2004 +Return-path: +Received: from noon.pghoster.com (noon.pghoster.com [64.246.0.64]) + by candle.pha.pa.us (8.11.6/8.11.6) with ESMTP id i092ntX01459 + for ; Thu, 8 Jan 2004 21:50:03 -0500 (EST) +Received: from svr1.postgresql.org ([200.46.204.71] helo=postgresql.org) + by noon.pghoster.com with esmtp (Exim 4.24) + id 1AemiO-0002D1-Di; Thu, 08 Jan 2004 20:49:36 -0600 +X-Original-To: pgsql-hackers-postgresql.org@localhost.postgresql.org +Received: from localhost (neptune.hub.org [200.46.204.2]) + by svr1.postgresql.org (Postfix) with ESMTP id 7FD9BD1B473 + for ; Mon, 5 Jan 2004 02:05:14 +0000 (GMT) +Received: from svr1.postgresql.org ([200.46.204.71]) + by localhost (neptune.hub.org [200.46.204.2]) (amavisd-new, port 10024) + with ESMTP id 70484-09 + for ; + Sun, 4 Jan 2004 22:04:28 -0400 (AST) +Received: from news.hub.org (news.hub.org [200.46.204.72]) + by svr1.postgresql.org (Postfix) with ESMTP id 8F8CAD1BB73 + for ; Sun, 4 Jan 2004 22:04:16 -0400 (AST) +Received: from news.hub.org (news.hub.org [200.46.204.72]) + by news.hub.org (8.12.9/8.12.9) with ESMTP id i0524DU6041774 + for ; Mon, 5 Jan 2004 02:04:13 GMT + (envelope-from news@news.hub.org) +Received: (from news@localhost) + by news.hub.org (8.12.9/8.12.9/Submit) id i0521bd7040362 + for pgsql-hackers@postgresql.org; Mon, 5 Jan 2004 02:01:37 GMT +From: "William ZHANG" +X-Newsgroups: comp.databases.postgresql.hackers +Subject: Re: [HACKERS] psql \d option list overloaded +Date: Mon, 5 Jan 2004 10:00:55 +0800 +Organization: N/A +Lines: 6 +Message-ID: +References: <3FEE6DFB.9040408@lorenso.com> <200401040125.i041PLR14687@candle.pha.pa.us> +X-Complaints-To: usenet@news.hub.org +X-Priority: 3 +X-MSMail-Priority: Normal +X-Newsreader: Microsoft Outlook Express 6.00.2800.1106 +X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106 +To: pgsql-hackers@postgresql.org +X-Virus-Scanned: by amavisd-new at postgresql.org +X-Mailing-List: pgsql-hackers +Precedence: bulk +Sender: pgsql-hackers-owner@postgresql.org +X-AntiAbuse: This header was added to track abuse, please include it with any abuse report +X-AntiAbuse: Primary Hostname - noon.pghoster.com +X-AntiAbuse: Original Domain - candle.pha.pa.us +X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] +X-AntiAbuse: Sender Address Domain - postgresql.org +X-Spam-Checker-Version: SpamAssassin 2.61 (1.212.2.1-2003-12-09-exp) on + candle.pha.pa.us +X-Spam-Status: No, hits=-3.7 required=5.0 tests=BAYES_00,PRIORITY_NO_NAME + autolearn=no version=2.61 +Status: OR + +I think moving the \d and simliar features in psql +to SQL is a good idea. That will make the features +available in any client library. As for the syntax, +maybe a investigation is needed. + + + +---------------------------(end of broadcast)--------------------------- +TIP 6: Have you searched our list archives? + + http://archives.postgresql.org + +From pgsql-hackers-owner+M48835=pgman=candle.pha.pa.us@postgresql.org Tue Jan 6 03:08:59 2004 +Return-path: +Received: from noon.pghoster.com (noon.pghoster.com [64.246.0.64]) + by candle.pha.pa.us (8.11.6/8.11.6) with ESMTP id i0688wX03365 + for ; Tue, 6 Jan 2004 03:08:59 -0500 (EST) +Received: from svr1.postgresql.org ([200.46.204.71] helo=postgresql.org) + by noon.pghoster.com with esmtp (Exim 4.24) + id 1AdmGn-0006qB-5D + for pgman@candle.pha.pa.us; Tue, 06 Jan 2004 02:08:57 -0600 +X-Original-To: pgsql-hackers-postgresql.org@localhost.postgresql.org +Received: from localhost (neptune.hub.org [200.46.204.2]) + by svr1.postgresql.org (Postfix) with ESMTP id 6D470D1B446 + for ; Tue, 6 Jan 2004 08:02:13 +0000 (GMT) +Received: from svr1.postgresql.org ([200.46.204.71]) + by localhost (neptune.hub.org [200.46.204.2]) (amavisd-new, port 10024) + with ESMTP id 19966-06 + for ; + Tue, 6 Jan 2004 04:01:30 -0400 (AST) +Received: from mail.eckpart.de (unknown [62.206.85.106]) + by svr1.postgresql.org (Postfix) with SMTP id C278CD1B46E + for ; Tue, 6 Jan 2004 04:01:06 -0400 (AST) +Received: (qmail 349 invoked from network); 6 Jan 2004 08:01:11 -0000 +Received: from unknown (HELO at13.eckpart.de) (192.168.41.70) + by cserv.eckpart.de with SMTP; 6 Jan 2004 08:01:11 -0000 +From: Tommi Maekitalo +Organization: Dr. Eckhardt + Partner GmbH +To: pgsql-hackers@postgresql.org +Subject: Re: [HACKERS] psql \d option list overloaded +Date: Tue, 6 Jan 2004 09:01:10 +0100 +User-Agent: KMail/1.5.4 +References: <3FEE6DFB.9040408@lorenso.com> <200401040125.i041PLR14687@candle.pha.pa.us> <20040104191322.GD8524@posixnap.net> +In-Reply-To: <20040104191322.GD8524@posixnap.net> +MIME-Version: 1.0 +Content-Type: text/plain; + charset="iso-8859-1" +Content-Transfer-Encoding: 7bit +Content-Disposition: inline +Message-ID: <200401060901.10830.t.maekitalo@epgmbh.de> +X-Virus-Scanned: by amavisd-new at postgresql.org +X-Mailing-List: pgsql-hackers +Precedence: bulk +Sender: pgsql-hackers-owner@postgresql.org +X-AntiAbuse: This header was added to track abuse, please include it with any abuse report +X-AntiAbuse: Primary Hostname - noon.pghoster.com +X-AntiAbuse: Original Domain - candle.pha.pa.us +X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] +X-AntiAbuse: Sender Address Domain - postgresql.org +X-Spam-Checker-Version: SpamAssassin 2.61 (1.212.2.1-2003-12-09-exp) on + candle.pha.pa.us +X-Spam-Status: No, hits=-4.9 required=5.0 tests=BAYES_00 autolearn=ham + version=2.61 +Status: OR + +Am Sonntag, 4. Januar 2004 20:13 schrieb Alex J. Avriette: +> On Sat, Jan 03, 2004 at 08:25:21PM -0500, Bruce Momjian wrote: +> > > I finally figure it out, I just end up forgetting again later. I still +... +> +> /functions +> /databases +> +... + +Long options sounds really good. It is like GNU-tools. A single - for single +character options and a double -- for long options. + +Ah - a single \ for short options in postgresql and a double \\ for long? What +do you think? + + +-- +Dr. Eckhardt + Partner GmbH +http://www.epgmbh.de + + +---------------------------(end of broadcast)--------------------------- +TIP 7: don't forget to increase your free space map settings + +From pgsql-hackers-owner+M48912@postgresql.org Thu Jan 8 22:37:54 2004 +Return-path: +Received: from hosting.commandprompt.com (216.commandprompt.com [207.173.200.216]) + by candle.pha.pa.us (8.11.6/8.11.6) with ESMTP id i093bpX02244 + for ; Thu, 8 Jan 2004 22:37:52 -0500 (EST) +Received: from postgresql.org (svr1.postgresql.org [200.46.204.71]) + by hosting.commandprompt.com (8.11.6/8.11.6) with ESMTP id i093U0k32213; + Thu, 8 Jan 2004 19:30:33 -0800 +X-Original-To: pgsql-hackers-postgresql.org@localhost.postgresql.org +Received: from localhost (neptune.hub.org [200.46.204.2]) + by svr1.postgresql.org (Postfix) with ESMTP id 95E70D1B43E + for ; Fri, 9 Jan 2004 03:29:43 +0000 (GMT) +Received: from svr1.postgresql.org ([200.46.204.71]) + by localhost (neptune.hub.org [200.46.204.2]) (amavisd-new, port 10024) + with ESMTP id 28908-10 + for ; + Thu, 8 Jan 2004 23:28:57 -0400 (AST) +Received: from mail.hive.nj2.inquent.com (mc.carriermail.com [205.178.180.9]) + by svr1.postgresql.org (Postfix) with SMTP id E42E8D1B48A + for ; Thu, 8 Jan 2004 23:27:26 -0400 (AST) +Received: (qmail 28537 invoked from network); 9 Jan 2004 03:27:33 -0000 +Received: from unknown (HELO ?192.168.1.199?) (134.22.68.14) + by 205.178.180.9 with SMTP; 9 Jan 2004 03:27:33 -0000 +Subject: Re: [HACKERS] psql \d option list overloaded +From: Rod Taylor +To: "D. Dante Lorenso" +cc: "Alex J. Avriette" , + Bruce Momjian , + PostgreSQL Development +In-Reply-To: <3FF8C4E6.9090008@lorenso.com> +References: <3FEE6DFB.9040408@lorenso.com> + <200401040125.i041PLR14687@candle.pha.pa.us> + <20040104191322.GD8524@posixnap.net> <3FF8C4E6.9090008@lorenso.com> +Content-Type: text/plain +Message-ID: <1073618847.322.29.camel@jester> +MIME-Version: 1.0 +X-Mailer: Ximian Evolution 1.4.5 +Date: Thu, 08 Jan 2004 22:27:28 -0500 +Content-Transfer-Encoding: 7bit +X-Virus-Scanned: by amavisd-new at postgresql.org +X-Mailing-List: pgsql-hackers +Precedence: bulk +Sender: pgsql-hackers-owner@postgresql.org +X-Spam-Checker-Version: SpamAssassin 2.61 (1.212.2.1-2003-12-09-exp) on + candle.pha.pa.us +X-Spam-Status: No, hits=-4.8 required=5.0 tests=BAYES_00,HTML_MESSAGE + autolearn=no version=2.61 +Status: OR + +> Anything other than simple, short commands is a waste, IMHO. I can easily +> remember SHOW DATABASES and SHOW TABLES and DESC
, because they +> reflect +> my intensions directly and 'make sense'. + +Can you remember how to get a list of indexes on a particular table? How +about a specific indexes build? I ask, because I constantly forgot both +of those (don't like FROM). + +> 2) (using information schema ... little better) +> +> SELECT table_name FROM information_schema.tables WHERE table_schema +> = 'public'; +> +> or ... +> +> 3) like MySQL does it... +> +> SHOW TABLES; +> +> Lemme think about which one I prefer ;-) Uh, Ok, I'm done thinking +> now. hehe. + +I actually prefer #2 myself. It works on a number of databases aside +from just PostgreSQL. So, as a user who worked in a mixed environment it +was easier to remember. + +But I get your point. + +> Sure, with time as my database needs grew and I matured as a developer, +> I eventually gained more respect for PostgreSQL and have made the switch +> even without this feature, but to this day, I really think MySQL *did it +> right* with those extensions. You can't become a PostgreSQL guru without + +I agree with the simple SHOW TABLES command but disagree with: + +SHOW [FULL] COLUMNS FROM tbl_name [FROM db_name] [LIKE wild] + +I much prefer: + +SELECT * FROM COLUMNS WHERE table LIKE '%tab%' AND database = 'billing'; + +It's not much longer, certainly more natural to those that know SQL, and +infinitely more useful since you can create result sets that the +programmer of SHOW hadn't considered. A perfect example is the addition +of the FULL clause in SHOW. The above select does not need additional +keywords for different formatting options as it can simply use "natural" +SQL styling. + + +---------------------------(end of broadcast)--------------------------- +TIP 2: you can get off all lists at once with the unregister command + (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) + +From tswan@idigx.com Fri Jan 9 02:07:40 2004 +Return-path: +Received: from stubee.d2hosting.net (d2hosting.net [66.70.41.160]) + by candle.pha.pa.us (8.11.6/8.11.6) with ESMTP id i0977cX28507 + for ; Fri, 9 Jan 2004 02:07:40 -0500 (EST) +Received: from idigx.com (adsl-159-238-227.mob.bellsouth.net [68.159.238.227]) + by stubee.d2hosting.net (8.11.6/linuxconf) with ESMTP id i0977Qn08421; + Fri, 9 Jan 2004 01:07:26 -0600 +Message-ID: <3FFE532C.2090503@idigx.com> +Date: Fri, 09 Jan 2004 01:07:24 -0600 +From: Thomas Swan +User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.6b) Gecko/20031205 Thunderbird/0.4 +X-Accept-Language: en-us, en +MIME-Version: 1.0 +To: pgsql-hackers@postgresql.org +cc: Bruce Momjian +Subject: Re: [HACKERS] psql \d option list overloaded +References: <200401060504.i0654B012562@candle.pha.pa.us> +In-Reply-To: <200401060504.i0654B012562@candle.pha.pa.us> +X-Enigmail-Version: 0.82.5.0 +X-Enigmail-Supports: pgp-inline, pgp-mime +Content-Type: text/plain; charset=ISO-8859-1 +Content-Transfer-Encoding: 7bit +X-Spam-Checker-Version: SpamAssassin 2.61 (1.212.2.1-2003-12-09-exp) on + candle.pha.pa.us +X-Spam-Status: No, hits=-4.8 required=5.0 tests=BAYES_00,HTML_MESSAGE + autolearn=ham version=2.61 +Status: OR + +Bruce Momjian wrote: + +>Alex J. Avriette wrote: +> +> +>>On Sun, Jan 04, 2004 at 07:59:02PM -0600, D. Dante Lorenso wrote: +>> +>> +>> +>>>Anything other than simple, short commands is a waste, IMHO. I can easily +>>>remember SHOW DATABASES and SHOW TABLES and DESC
, because they +>>>reflect +>>>my intensions directly and 'make sense'. +>>> +>>> +>>What makes sense to me in csh doesn't make sense in a bourne shell. +>>You can't expect all applications to work correctly. I'd like to second +>>Peter's "yep" when asked if he could remember all the various \d* +>>commands. It really comes down to whether you're trying. New software +>>(even though you may have been using it for a year) requires some +>>adjustment. +>> +>> +> +>OK, I will drop the idea. Thanks. +> +> +> +Bruce, + +The idea is not without merit. What you are looking at is a way to get +this information as a query without having to know all the intricasies +of all the pg_* internals or duplicating complex queries. "psql -E" +shows you just how tricky this is. Secondly, if this information +changes in a release, then the end user has to rewrite all of the +queries to work. Being able to issue a query to the dbms and get the +information as a normal SQL result makes sense and is definately convenient. + +The \d* commands work from psql but not from anywhere else. Try +getting the information from a PHP script by sending a "\dS" query. It +doesn't work. If the same queries were stored in the backend and +referenced by psql and also could be referenced by other scripts, this +would be a good thing and keep the work centralized. If the queries +were in the backend, the psql users could keep the \dS command but it +would call an internal function or execute a queried stored in the +system tables. + + +One option is to get the information via a function like + +SELECT * FROM pg_info('tables'); +SELECT * FROM pg_info('indexes'); + + +"psql -E" would show the same query being executed for "\dt" + +Another option if no one wanted a language construct, perhaps one option +would be to store the queries themselves in a table like pg_queries. +This also has the advantage of exposing the queries used so that they +can used as examples for other purposes. + ++------------+------------------------------------------+ +|pg_info_type|pg_query | ++------------+------------------------------------------+ +|tables |SELECT n.nspname as "Schema", c.relname | +| |as "Name", CASE c.relkind WHEN 'r' THEN | +| |'table' WHEN 'v' THEN 'view' WHEN 'i' THEN| +| |'index' WHEN 'S' THEN 'sequence' WHEN 's' | +| |THEN 'special' END as "Type", u.usename as| +| |"Owner" FROM pg_catalog.pg_class c LEFT | +| |JOIN pg_catalog.pg_user u ON u.usesysid = | +| |c.relowner LEFT JOIN | +| |pg_catalog.pg_namespace n ON n.oid = | +| |c.relnamespace WHERE c.relkind IN ('r','')| +| |AND n.nspname NOT IN ('pg_catalog', | +| |'pg_toast') AND | +| |pg_catalog.pg_table_is_visible(c.oid) | +| |ORDER BY 1,2; | ++------------+------------------------------------------+ +|indexes |SELECT n.nspname as "Schema", c.relname as| +| |"Name", CASE c.relkind WHEN 'r' THEN | +| |'table' WHEN 'v' THEN 'view' WHEN 'i' THEN| +| |'index' WHEN 'S' THEN 'sequence' WHEN 's' | +| |THEN 'special' END as "Type", u.usename as| +| |"Owner", c2.relname as "Table" FROM | +| |pg_catalog.pg_class c JOIN | +| |pg_catalog.pg_index i ON i.indexrelid = | +| |c.oid JOIN pg_catalog.pg_class c2 ON | +| |i.indrelid = c2.oid LEFT JOIN | +| |pg_catalog.pg_user u ON u.usesysid = | +| |c.relowner LEFT JOIN | +| |pg_catalog.pg_namespace n ON n.oid = | +| |c.relnamespace WHERE c.relkind IN ('i','')| +| |AND n.nspname NOT IN ('pg_catalog', | +| |'pg_toast') AND | +| |pg_catalog.pg_table_is_visible(c.oid) | +| |ORDER BY 1,2; | ++------------+------------------------------------------+ + + +Again, this is just food for thought. Perhaps it is a way to satisfy +both arguments. + +Thomas + +From pgsql-hackers-owner+M48922@postgresql.org Fri Jan 9 05:23:03 2004 +Return-path: +Received: from noon.pghoster.com (noon.pghoster.com [64.246.0.64]) + by candle.pha.pa.us (8.11.6/8.11.6) with ESMTP id i09AN1X10448 + for ; Fri, 9 Jan 2004 05:23:02 -0500 (EST) +Received: from svr1.postgresql.org ([200.46.204.71] helo=postgresql.org) + by noon.pghoster.com with esmtp (Exim 4.24) + id 1AetmQ-000637-HX; Fri, 09 Jan 2004 04:22:14 -0600 +X-Original-To: pgsql-hackers-postgresql.org@localhost.postgresql.org +Received: from localhost (neptune.hub.org [200.46.204.2]) + by svr1.postgresql.org (Postfix) with ESMTP id DCA3ED1B447 + for ; Fri, 9 Jan 2004 10:20:50 +0000 (GMT) +Received: from svr1.postgresql.org ([200.46.204.71]) + by localhost (neptune.hub.org [200.46.204.2]) (amavisd-new, port 10024) + with ESMTP id 95279-02 + for ; + Fri, 9 Jan 2004 06:20:04 -0400 (AST) +Received: from mail.eckpart.de (unknown [62.206.85.106]) + by svr1.postgresql.org (Postfix) with SMTP id 34AE7D1B4C6 + for ; Fri, 9 Jan 2004 06:19:45 -0400 (AST) +Received: (qmail 21196 invoked from network); 9 Jan 2004 10:19:46 -0000 +Received: from unknown (HELO at13.eckpart.de) (192.168.41.70) + by cserv.eckpart.de with SMTP; 9 Jan 2004 10:19:46 -0000 +From: Tommi Maekitalo +Organization: Dr. Eckhardt + Partner GmbH +To: pgsql-hackers@postgresql.org +Subject: Re: [HACKERS] psql \d option list overloaded +Date: Fri, 9 Jan 2004 11:19:45 +0100 +User-Agent: KMail/1.5.4 +References: <3FEE6DFB.9040408@lorenso.com> <20040104191322.GD8524@posixnap.net> <3FF8C4E6.9090008@lorenso.com> +In-Reply-To: <3FF8C4E6.9090008@lorenso.com> +MIME-Version: 1.0 +Content-Type: text/plain; + charset="iso-8859-1" +Content-Transfer-Encoding: 7bit +Content-Disposition: inline +Message-ID: <200401091119.45778.t.maekitalo@epgmbh.de> +X-Virus-Scanned: by amavisd-new at postgresql.org +X-Mailing-List: pgsql-hackers +Precedence: bulk +Sender: pgsql-hackers-owner@postgresql.org +X-AntiAbuse: This header was added to track abuse, please include it with any abuse report +X-AntiAbuse: Primary Hostname - noon.pghoster.com +X-AntiAbuse: Original Domain - candle.pha.pa.us +X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] +X-AntiAbuse: Sender Address Domain - postgresql.org +X-Spam-Checker-Version: SpamAssassin 2.61 (1.212.2.1-2003-12-09-exp) on + candle.pha.pa.us +X-Spam-Status: No, hits=-4.9 required=5.0 tests=BAYES_00 autolearn=ham + version=2.61 +Status: OR + +Hi, + +> +> 2) (using information schema ... little better) +> +> SELECT table_name FROM information_schema.tables WHERE table_schema +> = 'public'; +> +> or ... +> +... + +I just looked at the information_schema. It is a very nice feature, but +difficult to use in psql. + +I just wanted to see, what I can find here. After trying and rtfm I ended in +'\d information_schema.*'. I get a very large page wich is quite unreadable. +'\d' is normally very usable. + +It would be better not to show the view-definition. + +What if \d on views just show the column, type and attribute. \d+ would show +the full view-definition. + + +Tommi + +-- +Dr. Eckhardt + Partner GmbH +http://www.epgmbh.de + + +---------------------------(end of broadcast)--------------------------- +TIP 5: Have you checked our extensive FAQ? + + http://www.postgresql.org/docs/faqs/FAQ.html + +From pgsql-hackers-owner+M48946@postgresql.org Sat Jan 10 07:42:08 2004 +Return-path: +Received: from noon.pghoster.com (noon.pghoster.com [64.246.0.64]) + by candle.pha.pa.us (8.11.6/8.11.6) with ESMTP id i0ACg6X18515 + for ; Sat, 10 Jan 2004 07:42:07 -0500 (EST) +Received: from svr1.postgresql.org ([200.46.204.71] helo=postgresql.org) + by noon.pghoster.com with esmtp (Exim 4.24) + id 1AfINd-0006bw-4f; Sat, 10 Jan 2004 06:38:17 -0600 +X-Original-To: pgsql-hackers-postgresql.org@localhost.postgresql.org +Received: from localhost (neptune.hub.org [200.46.204.2]) + by svr1.postgresql.org (Postfix) with ESMTP id 35C29D1D542 + for ; Sat, 10 Jan 2004 12:36:36 +0000 (GMT) +Received: from svr1.postgresql.org ([200.46.204.71]) + by localhost (neptune.hub.org [200.46.204.2]) (amavisd-new, port 10024) + with ESMTP id 91943-10 + for ; + Sat, 10 Jan 2004 08:36:07 -0400 (AST) +Received: from filer (c-24-6-183-218.client.comcast.net [24.6.183.218]) + by svr1.postgresql.org (Postfix) with ESMTP id 4ACFBD1D54E + for ; Sat, 10 Jan 2004 08:36:03 -0400 (AST) +Received: from localhost (localhost [127.0.0.1]) + (uid 1000) + by filer with local; Sat, 10 Jan 2004 04:36:06 -0800 +Date: Sat, 10 Jan 2004 04:36:06 -0800 +From: Kevin Brown +To: PostgreSQL-development +Subject: Re: [HACKERS] psql \d option list overloaded +Message-ID: <20040110123605.GA2608@filer> +Mail-Followup-To: Kevin Brown , + PostgreSQL-development +References: <3FEE6DFB.9040408@lorenso.com> <200401040125.i041PLR14687@candle.pha.pa.us> <20040104191322.GD8524@posixnap.net> <3FF8C4E6.9090008@lorenso.com> <20040105154534.GF8524@posixnap.net> +MIME-Version: 1.0 +Content-Type: text/plain; charset=us-ascii +Content-Transfer-Encoding: 7bit +Content-Disposition: inline +In-Reply-To: <20040105154534.GF8524@posixnap.net> +Organization: Frobozzco International +User-Agent: Mutt/1.5.4i +X-Virus-Scanned: by amavisd-new at postgresql.org +X-Mailing-List: pgsql-hackers +Precedence: bulk +Sender: pgsql-hackers-owner@postgresql.org +X-AntiAbuse: This header was added to track abuse, please include it with any abuse report +X-AntiAbuse: Primary Hostname - noon.pghoster.com +X-AntiAbuse: Original Domain - candle.pha.pa.us +X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] +X-AntiAbuse: Sender Address Domain - postgresql.org +X-Spam-Checker-Version: SpamAssassin 2.61 (1.212.2.1-2003-12-09-exp) on + candle.pha.pa.us +X-Spam-Status: No, hits=-4.8 required=5.0 tests=BAYES_00,HTML_MESSAGE + autolearn=ham version=2.61 +Status: OR + +Alex J. Avriette wrote: +> On Sun, Jan 04, 2004 at 07:59:02PM -0600, D. Dante Lorenso wrote: +> +> > Anything other than simple, short commands is a waste, IMHO. I can easily +> > remember SHOW DATABASES and SHOW TABLES and DESC
, because they +> > reflect +> > my intensions directly and 'make sense'. +> +> What makes sense to me in csh doesn't make sense in a bourne shell. + +And yet, bash has !$ and job control just like csh, even though they're +not standard Bourne-shell features. + +It's not a bad thing to adopt good ideas from other projects. + +> You can't expect all applications to work correctly. + +You can't expect this anyway, at least when dealing with cross-database +applications. The intersection of the SQL feature sets across all the +major database engines is pretty limited -- small enough that you'll +almost certainly end up using something database-specific when attempting +to do anything truly nontrivial. + +> I'd like to second +> Peter's "yep" when asked if he could remember all the various \d* +> commands. It really comes down to whether you're trying. New software +> (even though you may have been using it for a year) requires some +> adjustment. + +This is true, but it's no argument against implementing "show +databases", "show tables", and "describe". + +Every database engine is different, but in the case of PG it makes sense +to adopt the best methods we can find. A consistent and easy to +remember way of showing the various entities in psql (at the very least) +would be of great advantage. It's something that MySQL gets right. As +it turns out, we already have "SHOW" in psql and it's used for something +else. So we might instead use something else (e.g. "VIEW") instead. + +Either way, a single command that takes as its argument the type of entity +you want to see would be extremely useful, and much easier to remember +than what we currently have -- because the names of the entities that +are available are already well-defined and are likely known to the user +already. + +> > What's more important is the ability to use these commands from any +> > interface not just 'psql' client. I think 'psql' already has the slash +> > commands. No need to create NEW slash commands there... +> > +> > >If you want to find out how to show the databases in sql, use psql -E. +> > > +> > > +> > Have you actually done that? OMG! +> +> Yes, I do it frequently. You may notice a recent post of mine used +> exactly that output. + +Now do it from within psql. + +It's \l, as it turns out. This violates the principle of least surprise +because psql generally uses \d* to show entities. + +> > 3) like MySQL does it... +> > +> > SHOW TABLES; +> +> Should postgres also support the '#' comment? What other non-sql +> sqlisms should we support? + +PG already has a number of PG-specific features. Adding more, +*especially* if they happen to be compatible with other databases, isn't +going to hurt much. + +No, the thing to worry about here is whether or not these commands +("SHOW", for instance) will appear in the SQL spec and will have a +completely different meaning from the meaning in PG. Also of concern is +that "SHOW" is already reserved and used for something else. We'd have +to use something other than "SHOW" for the purpose being discussed. + +> > There's something to be said about the 'SHOW'and 'DESC' sql-extensions +> > added into MySQL. Newbies can really 'get' it quickly. It's what really +> +> I would argue that these are not "sql extensions" at all. If you like, I +> can go over the source to verify this myself, but my guess is that MySQL +> is doing exactly what postgres is doing, and evaluating this as a macro. + +No, they are built into MySQL's backend parser. You can easily verify +this by executing these commands from within Perl or Python. They +return a table just like any other SQL command that returns data. + +> Furthermore, databases are not designed for "newbies" to jump right in +> with both feet. They are designed to be robust and stable. + +Now this is ludicrous. Yes, they're designed to be robust and stable, +but that has absolutely nothing to do with how easy they are to use. + +> Additionally, +> some SQL compliance is nice. After that, you work on features. + +If we were talking about something that went against the SQL standard +then I would agree with you. But we're talking about something that, +as far as I know, isn't in the SQL standard at all. Implementing it +won't make us noncompliant with the SQL standard any more than the +implementation of CREATE INDEX has. + +> Changing the interface so that you or others don't have to read the +> documentation smacks of laziness. + +Really? One could make the same argument for standards of any kind, +yes? :-) + +> Somebody like Bruce, Peter, or Tom (or indeed somebody else) is going +> to waste yet more time making things like this available to somebody +> who probably won't read any of the other documentation either, and will +> wind up on irc pestering somebody like myself, Dave, or Neil. Why is +> this progress? + +It's progress because it will keep those people from pestering someone +in the know about how to show the available databases, or how to +describe a table. + +> > sold me on MySQL when I first learned it. For me, it's like: +> > +> > 'dir' in DOS, +> > 'ls' in Unix +> > 'SHOW' in MySQL +> > ??? in PostgreSQL ? +> +> We've been over this. It's \d*. + +For listing databases it's \l. Not exactly consistent with the rest of +the related psql commands. + +> > Sure, with time as my database needs grew and I matured as a developer, +> > I eventually gained more respect for PostgreSQL and have made the switch +> > even without this feature, but to this day, I really think MySQL *did it +> > right* with those extensions. You can't become a PostgreSQL guru without +> > being a newbie first. I vote we make it easier for newbies. +> +> What really frightens me here is that I know of several applications (shudder, +> "LAMP" applications) which use the output of "show tables" or other of your +> "extensions." The problem with this is precisely that it /isn't/ sql, and it +> can't be supported as a static command. + +Of course not. But applications which rely on information such as that +provided by "show tables" will typically not be possible to write while +adhering to the feature intersection of all major databases anyway. + +> It is intended to be there for people +> to use interactively. + +Nonsense. It's there to be used. Whether it's used interactively or +not is irrelevant. The command provides useful information. But see +below. + +> Making "pseudo sql" will encourage more developers to +> (and I'd apologize for this if it weren't true) code in Postgres the same +> lazy way they code in MySQL. + +This is a strawman argument, although I understand your concern here. +To be honest, for application development I'd much rather see people +use information_schema, but that's only because information_schema is +in the SQL standard and as such should be the preferred way to retrieve +the information that the "SHOW" commands in MySQL return. That said, +the inclusion of information_schema is a very recent development on the +PostgreSQL side of things, and doesn't even exist on some other major +databases such as MSSQL. + +Of course, a PG equivalent to MySQL's "show" would be an even more +recent development... :-) + + +-- +Kevin Brown kevin@sysexperts.com + +---------------------------(end of broadcast)--------------------------- +TIP 9: the planner will ignore your desire to choose an index scan if your + joining column's datatypes do not match + +From pgsql-hackers-owner+M48947@postgresql.org Sat Jan 10 08:12:39 2004 +Return-path: +Received: from hosting.commandprompt.com (216.commandprompt.com [207.173.200.216]) + by candle.pha.pa.us (8.11.6/8.11.6) with ESMTP id i0ADCbX21504 + for ; Sat, 10 Jan 2004 08:12:38 -0500 (EST) +Received: from postgresql.org (svr1.postgresql.org [200.46.204.71]) + by hosting.commandprompt.com (8.11.6/8.11.6) with ESMTP id i0AD8Gk19951; + Sat, 10 Jan 2004 05:09:17 -0800 +X-Original-To: pgsql-hackers-postgresql.org@localhost.postgresql.org +Received: from localhost (neptune.hub.org [200.46.204.2]) + by svr1.postgresql.org (Postfix) with ESMTP id 7758BD1D54C + for ; Sat, 10 Jan 2004 13:08:00 +0000 (GMT) +Received: from svr1.postgresql.org ([200.46.204.71]) + by localhost (neptune.hub.org [200.46.204.2]) (amavisd-new, port 10024) + with ESMTP id 02466-03 + for ; + Sat, 10 Jan 2004 09:07:32 -0400 (AST) +Received: from curie.credativ.org (credativ.com [217.160.209.18]) + by svr1.postgresql.org (Postfix) with ESMTP id 64975D1D54E + for ; Sat, 10 Jan 2004 09:07:28 -0400 (AST) +Received: from localhost (localhost [127.0.0.1]) + by curie.credativ.org (Postfix) with ESMTP + id 765E356243; Sat, 10 Jan 2004 14:07:25 +0100 (CET) +Received: from colt.pezone.net (dsl-213-023-254-001.arcor-ip.net [213.23.254.1]) + (using TLSv1 with cipher RC4-MD5 (128/128 bits)) + (No client certificate requested) + by curie.credativ.org (Postfix) with ESMTP + id B98A65623C; Sat, 10 Jan 2004 14:07:24 +0100 (CET) +From: Peter Eisentraut +To: Kevin Brown , + PostgreSQL-development +Subject: Re: [HACKERS] psql \d option list overloaded +Date: Sat, 10 Jan 2004 14:07:24 +0100 +User-Agent: KMail/1.5.1 +References: <3FEE6DFB.9040408@lorenso.com> <20040105154534.GF8524@posixnap.net> <20040110123605.GA2608@filer> +In-Reply-To: <20040110123605.GA2608@filer> +MIME-Version: 1.0 +Content-Type: text/plain; + charset="iso-8859-1" +Content-Transfer-Encoding: 7bit +Content-Disposition: inline +Message-ID: <200401101407.24766.peter_e@gmx.net> +X-Virus-Scanned: by AMaViS at credativ.com +X-Virus-Scanned: by amavisd-new at postgresql.org +X-Mailing-List: pgsql-hackers +Precedence: bulk +Sender: pgsql-hackers-owner@postgresql.org +X-Spam-Checker-Version: SpamAssassin 2.61 (1.212.2.1-2003-12-09-exp) on + candle.pha.pa.us +X-Spam-Status: No, hits=-4.9 required=5.0 tests=BAYES_00 autolearn=ham + version=2.61 +Status: OR + +Kevin Brown wrote: +> Every database engine is different, but in the case of PG it makes +> sense to adopt the best methods we can find. A consistent and easy +> to remember way of showing the various entities in psql (at the very +> least) would be of great advantage. It's something that MySQL gets +> right. As it turns out, we already have "SHOW" in psql and it's used +> for something else. So we might instead use something else (e.g. +> "VIEW") instead. + +What is wrong with + +SELECT * FROM information_schema.tables; + +? If it's too much to type, put information_schema in the path. This +syntax has the advantage that you can use qualifications and other SQL +features. And you can build customized views on top of it. Does SHOW +TABLES or whatever it might be called support that? + + +---------------------------(end of broadcast)--------------------------- +TIP 9: the planner will ignore your desire to choose an index scan if your + joining column's datatypes do not match + +From pgsql-hackers-owner+M48948@postgresql.org Sat Jan 10 11:30:24 2004 +Return-path: +Received: from noon.pghoster.com (noon.pghoster.com [64.246.0.64]) + by candle.pha.pa.us (8.11.6/8.11.6) with ESMTP id i0AGUMX12749 + for ; Sat, 10 Jan 2004 11:30:23 -0500 (EST) +Received: from svr1.postgresql.org ([200.46.204.71] helo=postgresql.org) + by noon.pghoster.com with esmtp (Exim 4.24) + id 1AfLzP-0000hA-JY; Sat, 10 Jan 2004 10:29:31 -0600 +X-Original-To: pgsql-hackers-postgresql.org@localhost.postgresql.org +Received: from localhost (neptune.hub.org [200.46.204.2]) + by svr1.postgresql.org (Postfix) with ESMTP id A69DED1B51D + for ; Sat, 10 Jan 2004 16:28:00 +0000 (GMT) +Received: from svr1.postgresql.org ([200.46.204.71]) + by localhost (neptune.hub.org [200.46.204.2]) (amavisd-new, port 10024) + with ESMTP id 14752-08 + for ; + Sat, 10 Jan 2004 12:27:29 -0400 (AST) +Received: from zigo.dhs.org (as2-4-3.an.g.bonet.se [194.236.34.191]) + by svr1.postgresql.org (Postfix) with ESMTP id 89156D1D560 + for ; Sat, 10 Jan 2004 12:27:23 -0400 (AST) +Received: from zigo.zigo.dhs.org (zigo.zigo.dhs.org [192.168.0.1]) + by zigo.dhs.org (Postfix) with ESMTP + id 9D7EF8E0D; Sat, 10 Jan 2004 17:27:21 +0100 (CET) +Date: Sat, 10 Jan 2004 17:27:21 +0100 (CET) +From: =?ISO-8859-1?Q?Dennis_Bj=F6rklund?= +To: Peter Eisentraut +cc: Kevin Brown , + PostgreSQL-development +Subject: Re: [HACKERS] psql \d option list overloaded +In-Reply-To: <200401101407.24766.peter_e@gmx.net> +Message-ID: +MIME-Version: 1.0 +Content-Type: TEXT/PLAIN; charset=ISO-8859-1 +Content-Transfer-Encoding: 8BIT +X-Virus-Scanned: by amavisd-new at postgresql.org +X-Mailing-List: pgsql-hackers +Precedence: bulk +Sender: pgsql-hackers-owner@postgresql.org +X-AntiAbuse: This header was added to track abuse, please include it with any abuse report +X-AntiAbuse: Primary Hostname - noon.pghoster.com +X-AntiAbuse: Original Domain - candle.pha.pa.us +X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] +X-AntiAbuse: Sender Address Domain - postgresql.org +X-Spam-Checker-Version: SpamAssassin 2.61 (1.212.2.1-2003-12-09-exp) on + candle.pha.pa.us +X-Spam-Status: No, hits=-4.9 required=5.0 tests=BAYES_00 autolearn=ham + version=2.61 +Status: OR + +On Sat, 10 Jan 2004, Peter Eisentraut wrote: + +> > to remember way of showing the various entities in psql (at the very +> > least) would be of great advantage. It's something that MySQL gets +> > right. As it turns out, we already have "SHOW" in psql and it's used +> > for something else. +> +> What is wrong with +> +> SELECT * FROM information_schema.tables; + +The result is very hard to read since it's so much of it (try column +instead of tables). The \xx commands do some nice formatting you don't +get from the above. + +I would rather have long commands so one can write + +\describe_table foo + +and have the tab completion work for these of course (only for the long +commands, the \dt and such does not belong in completion). + +The information schema is nice, but it's not what I want to use at the +prompt to view the content of the database. + +-- +/Dennis Björklund + + +---------------------------(end of broadcast)--------------------------- +TIP 2: you can get off all lists at once with the unregister command + (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) + +From pgsql-hackers-owner+M48950@postgresql.org Sat Jan 10 13:30:54 2004 +Return-path: +Received: from noon.pghoster.com (noon.pghoster.com [64.246.0.64]) + by candle.pha.pa.us (8.11.6/8.11.6) with ESMTP id i0AIUrX25980 + for ; Sat, 10 Jan 2004 13:30:53 -0500 (EST) +Received: from svr1.postgresql.org ([200.46.204.71] helo=postgresql.org) + by noon.pghoster.com with esmtp (Exim 4.24) + id 1AfNsG-0002v6-Lh; Sat, 10 Jan 2004 12:30:17 -0600 +X-Original-To: pgsql-hackers-postgresql.org@localhost.postgresql.org +Received: from localhost (neptune.hub.org [200.46.204.2]) + by svr1.postgresql.org (Postfix) with ESMTP id 92952D1D56E + for ; Sat, 10 Jan 2004 18:28:45 +0000 (GMT) +Received: from svr1.postgresql.org ([200.46.204.71]) + by localhost (neptune.hub.org [200.46.204.2]) (amavisd-new, port 10024) + with ESMTP id 33571-06 + for ; + Sat, 10 Jan 2004 14:28:14 -0400 (AST) +Received: from smtp.istop.com (dci.doncaster.on.ca [66.11.168.194]) + by svr1.postgresql.org (Postfix) with ESMTP id 9FBA4D1D572 + for ; Sat, 10 Jan 2004 14:28:13 -0400 (AST) +Received: from stark.xeocode.com (gsstark.mtl.istop.com [66.11.160.162]) + by smtp.istop.com (Postfix) with ESMTP + id 1CC0837658; Sat, 10 Jan 2004 13:28:09 -0500 (EST) +Received: from localhost + ([127.0.0.1] helo=stark.xeocode.com ident=foobar) + by stark.xeocode.com with smtp (Exim 3.36 #1 (Debian)) + id 1AfNqD-0001y1-00; Sat, 10 Jan 2004 13:28:09 -0500 +To: pgsql-hackers@postgresql.org +Subject: Re: [HACKERS] psql \d option list overloaded +References: +In-Reply-To: +From: Greg Stark +Organization: The Emacs Conspiracy; member since 1992 +Date: 10 Jan 2004 13:28:08 -0500 +Message-ID: <878ykf4q13.fsf@stark.xeocode.com> +Lines: 22 +User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3 +MIME-Version: 1.0 +Content-Type: text/plain; charset=iso-8859-1 +Content-Transfer-Encoding: 8bit +X-Virus-Scanned: by amavisd-new at postgresql.org +X-Mailing-List: pgsql-hackers +Precedence: bulk +Sender: pgsql-hackers-owner@postgresql.org +X-AntiAbuse: This header was added to track abuse, please include it with any abuse report +X-AntiAbuse: Primary Hostname - noon.pghoster.com +X-AntiAbuse: Original Domain - candle.pha.pa.us +X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] +X-AntiAbuse: Sender Address Domain - postgresql.org +X-Spam-Checker-Version: SpamAssassin 2.61 (1.212.2.1-2003-12-09-exp) on + candle.pha.pa.us +X-Spam-Status: No, hits=-4.9 required=5.0 tests=BAYES_00 autolearn=ham + version=2.61 +Status: OR + + +Dennis Björklund writes: + +> I would rather have long commands so one can write +> +> \describe_table foo + +I would think it would be better to keep everything under a single command and +have a 1-1 correspondence to \d. Ie, just add a long form syntax following the +existing \d. \d would become just an obvious set of abbreviations. + +So for example: + +\describe table foo => \dt foo +\describe index foo => \di foo +\describe aggregate foo => \da foo +\describe operator foo => \do foo + +... + +-- +greg + + +---------------------------(end of broadcast)--------------------------- +TIP 6: Have you searched our list archives? + + http://archives.postgresql.org + +From pgsql-hackers-owner+M48952@postgresql.org Sat Jan 10 14:17:26 2004 +Return-path: +Received: from noon.pghoster.com (noon.pghoster.com [64.246.0.64]) + by candle.pha.pa.us (8.11.6/8.11.6) with ESMTP id i0AJHOX29152 + for ; Sat, 10 Jan 2004 14:17:25 -0500 (EST) +Received: from svr1.postgresql.org ([200.46.204.71] helo=postgresql.org) + by noon.pghoster.com with esmtp (Exim 4.24) + id 1AfObD-0003wE-9N; Sat, 10 Jan 2004 13:16:43 -0600 +X-Original-To: pgsql-hackers-postgresql.org@localhost.postgresql.org +Received: from localhost (neptune.hub.org [200.46.204.2]) + by svr1.postgresql.org (Postfix) with ESMTP id 27045D1B498 + for ; Sat, 10 Jan 2004 19:15:51 +0000 (GMT) +Received: from svr1.postgresql.org ([200.46.204.71]) + by localhost (neptune.hub.org [200.46.204.2]) (amavisd-new, port 10024) + with ESMTP id 42506-02 + for ; + Sat, 10 Jan 2004 15:15:21 -0400 (AST) +Received: from sss.pgh.pa.us (unknown [192.204.191.242]) + by svr1.postgresql.org (Postfix) with ESMTP id 143C4D1B4C5 + for ; Sat, 10 Jan 2004 15:15:20 -0400 (AST) +Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) + by sss.pgh.pa.us (8.12.10/8.12.10) with ESMTP id i0AJFJ19011695; + Sat, 10 Jan 2004 14:15:19 -0500 (EST) +To: Greg Stark +cc: pgsql-hackers@postgresql.org +Subject: Re: [HACKERS] psql \d option list overloaded +In-Reply-To: <878ykf4q13.fsf@stark.xeocode.com> +References: <878ykf4q13.fsf@stark.xeocode.com> +Comments: In-reply-to Greg Stark + message dated "10 Jan 2004 13:28:08 -0500" +Date: Sat, 10 Jan 2004 14:15:19 -0500 +Message-ID: <11694.1073762119@sss.pgh.pa.us> +From: Tom Lane +X-Virus-Scanned: by amavisd-new at postgresql.org +X-Mailing-List: pgsql-hackers +Precedence: bulk +Sender: pgsql-hackers-owner@postgresql.org +X-AntiAbuse: This header was added to track abuse, please include it with any abuse report +X-AntiAbuse: Primary Hostname - noon.pghoster.com +X-AntiAbuse: Original Domain - candle.pha.pa.us +X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] +X-AntiAbuse: Sender Address Domain - postgresql.org +X-Spam-Checker-Version: SpamAssassin 2.61 (1.212.2.1-2003-12-09-exp) on + candle.pha.pa.us +X-Spam-Status: No, hits=-4.9 required=5.0 tests=BAYES_00 autolearn=ham + version=2.61 +Status: OR + +Greg Stark writes: +> So for example: + +> \describe table foo => \dt foo +> \describe index foo => \di foo +> \describe aggregate foo => \da foo +> \describe operator foo => \do foo + +It doesn't seem to me that this buys much except verboseness, though. + +ISTM there are three fundamental problems with \d and friends: + + 1. Some people have a hard time remembering the commands. + 2. Some people aren't using psql. + 3. psql keeps breaking across backend versions because the + needed commands change. + +I don't see a lot of value in addressing just one of these problem +areas, when we could instead do something that addresses all three. + + regards, tom lane + +---------------------------(end of broadcast)--------------------------- +TIP 9: the planner will ignore your desire to choose an index scan if your + joining column's datatypes do not match + +From pgsql-hackers-owner+M48954@postgresql.org Sat Jan 10 19:19:30 2004 +Return-path: +Received: from noon.pghoster.com (noon.pghoster.com [64.246.0.64]) + by candle.pha.pa.us (8.11.6/8.11.6) with ESMTP id i0B0JPX16197 + for ; Sat, 10 Jan 2004 19:19:29 -0500 (EST) +Received: from svr1.postgresql.org ([200.46.204.71] helo=postgresql.org) + by noon.pghoster.com with esmtp (Exim 4.24) + id 1AfTJQ-0000BC-Jg; Sat, 10 Jan 2004 18:18:40 -0600 +X-Original-To: pgsql-hackers-postgresql.org@localhost.postgresql.org +Received: from localhost (neptune.hub.org [200.46.204.2]) + by svr1.postgresql.org (Postfix) with ESMTP id 17450D1B465 + for ; Sun, 11 Jan 2004 00:17:39 +0000 (GMT) +Received: from svr1.postgresql.org ([200.46.204.71]) + by localhost (neptune.hub.org [200.46.204.2]) (amavisd-new, port 10024) + with ESMTP id 71332-04 + for ; + Sat, 10 Jan 2004 20:17:10 -0400 (AST) +Received: from lakemtao03.cox.net (lakemtao03.cox.net [68.1.17.242]) + by svr1.postgresql.org (Postfix) with ESMTP id 937E9D1B461 + for ; Sat, 10 Jan 2004 20:17:06 -0400 (AST) +Received: from louche.swelter.net ([68.98.183.165]) by lakemtao03.cox.net + (InterMail vM.5.01.06.05 201-253-122-130-105-20030824) with ESMTP + id <20040111001710.UTGO2192.lakemtao03.cox.net@louche.swelter.net> + for ; + Sat, 10 Jan 2004 19:17:10 -0500 +Received: by louche.swelter.net (Postfix, from userid 513) + id 0B28AB; Sat, 10 Jan 2004 19:16:59 -0500 (EST) +Received: from localhost (louche.swelter.net [127.0.0.1]) + by louche.swelter.net (Postfix) with ESMTP id 22CDBB + for ; Sat, 10 Jan 2004 19:16:58 -0500 (EST) +Date: Sun, 11 Jan 2004 00:16:58 +0000 (UTC) +From: Jon Jensen +X-X-Sender: jon@louche.swelter.net +To: pgsql-hackers@postgresql.org +Subject: Re: [HACKERS] psql \d option list overloaded +In-Reply-To: <11694.1073762119@sss.pgh.pa.us> +Message-ID: +References: + <878ykf4q13.fsf@stark.xeocode.com> <11694.1073762119@sss.pgh.pa.us> +MIME-Version: 1.0 +Content-Type: TEXT/PLAIN; charset=US-ASCII +X-Virus-Scanned: by amavisd-new at postgresql.org +X-Mailing-List: pgsql-hackers +Precedence: bulk +Sender: pgsql-hackers-owner@postgresql.org +X-AntiAbuse: This header was added to track abuse, please include it with any abuse report +X-AntiAbuse: Primary Hostname - noon.pghoster.com +X-AntiAbuse: Original Domain - candle.pha.pa.us +X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] +X-AntiAbuse: Sender Address Domain - postgresql.org +X-Spam-Checker-Version: SpamAssassin 2.61 (1.212.2.1-2003-12-09-exp) on + candle.pha.pa.us +X-Spam-Status: No, hits=-4.9 required=5.0 tests=BAYES_00 autolearn=ham + version=2.61 +Status: OR + +On Sat, 10 Jan 2004, Tom Lane wrote: + +> ISTM there are three fundamental problems with \d and friends: +> +> 1. Some people have a hard time remembering the commands. +> 2. Some people aren't using psql. +> 3. psql keeps breaking across backend versions because the +> needed commands change. +> +> I don't see a lot of value in addressing just one of these problem +> areas, when we could instead do something that addresses all three. + +I agree, at least for #2 and #3. But I just don't understand #1. Anything +is hard to remember when you're just starting to learn it. But it's still +faster to type \? then \dt than it is to type "show tables". And +"show tables" is hard (relatively speaking) for me to remember because I'm +used to psql's way of doing things, since I mostly use it. + +Jon + +---------------------------(end of broadcast)--------------------------- +TIP 7: don't forget to increase your free space map settings + +From pgsql-hackers-owner+M48955@postgresql.org Sat Jan 10 20:09:33 2004 +Return-path: +Received: from noon.pghoster.com (noon.pghoster.com [64.246.0.64]) + by candle.pha.pa.us (8.11.6/8.11.6) with ESMTP id i0B19WX22168 + for ; Sat, 10 Jan 2004 20:09:33 -0500 (EST) +Received: from svr1.postgresql.org ([200.46.204.71] helo=postgresql.org) + by noon.pghoster.com with esmtp (Exim 4.24) + id 1AfU65-000194-6w; Sat, 10 Jan 2004 19:08:57 -0600 +X-Original-To: pgsql-hackers-postgresql.org@localhost.postgresql.org +Received: from localhost (neptune.hub.org [200.46.204.2]) + by svr1.postgresql.org (Postfix) with ESMTP id B6F12D1B528 + for ; Sun, 11 Jan 2004 01:07:56 +0000 (GMT) +Received: from svr1.postgresql.org ([200.46.204.71]) + by localhost (neptune.hub.org [200.46.204.2]) (amavisd-new, port 10024) + with ESMTP id 70575-10 + for ; + Sat, 10 Jan 2004 21:07:28 -0400 (AST) +Received: from curie.credativ.org (credativ.com [217.160.209.18]) + by svr1.postgresql.org (Postfix) with ESMTP id EA5B5D1B48B + for ; Sat, 10 Jan 2004 21:07:24 -0400 (AST) +Received: from localhost (localhost [127.0.0.1]) + by curie.credativ.org (Postfix) with ESMTP + id DD86C56243; Sun, 11 Jan 2004 02:07:26 +0100 (CET) +Received: from colt.pezone.net (dsl-213-023-254-001.arcor-ip.net [213.23.254.1]) + (using TLSv1 with cipher RC4-MD5 (128/128 bits)) + (No client certificate requested) + by curie.credativ.org (Postfix) with ESMTP + id EA9C35623C; Sun, 11 Jan 2004 02:07:25 +0100 (CET) +From: Peter Eisentraut +To: Tom Lane , Greg Stark +Subject: Re: [HACKERS] psql \d option list overloaded +Date: Sun, 11 Jan 2004 02:07:25 +0100 +User-Agent: KMail/1.5.1 +cc: pgsql-hackers@postgresql.org +References: <878ykf4q13.fsf@stark.xeocode.com> <11694.1073762119@sss.pgh.pa.us> +In-Reply-To: <11694.1073762119@sss.pgh.pa.us> +MIME-Version: 1.0 +Content-Type: text/plain; + charset="iso-8859-15" +Content-Transfer-Encoding: 7bit +Content-Disposition: inline +Message-ID: <200401110207.26299.peter_e@gmx.net> +X-Virus-Scanned: by AMaViS at credativ.com +X-Virus-Scanned: by amavisd-new at postgresql.org +X-Mailing-List: pgsql-hackers +Precedence: bulk +Sender: pgsql-hackers-owner@postgresql.org +X-AntiAbuse: This header was added to track abuse, please include it with any abuse report +X-AntiAbuse: Primary Hostname - noon.pghoster.com +X-AntiAbuse: Original Domain - candle.pha.pa.us +X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] +X-AntiAbuse: Sender Address Domain - postgresql.org +X-Spam-Checker-Version: SpamAssassin 2.61 (1.212.2.1-2003-12-09-exp) on + candle.pha.pa.us +X-Spam-Status: No, hits=-4.9 required=5.0 tests=BAYES_00 autolearn=ham + version=2.61 +Status: OR + +Tom Lane wrote: +> 2. Some people aren't using psql. + +I don't see why this is an issue. People not using psql are either +using a GUI, which presumably supports plenty of "show" and "describe" +functionality, or they're writing their own program, in which case it +doesn't really matter how short or easy to remember the commands are. + + +---------------------------(end of broadcast)--------------------------- +TIP 2: you can get off all lists at once with the unregister command + (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) + +From pgsql-hackers-owner+M48956@postgresql.org Sat Jan 10 20:19:59 2004 +Return-path: +Received: from hosting.commandprompt.com (216.commandprompt.com [207.173.200.216]) + by candle.pha.pa.us (8.11.6/8.11.6) with ESMTP id i0B1JoX23197 + for ; Sat, 10 Jan 2004 20:19:56 -0500 (EST) +Received: from postgresql.org (svr1.postgresql.org [200.46.204.71]) + by hosting.commandprompt.com (8.11.6/8.11.6) with ESMTP id i0B1E2k19636; + Sat, 10 Jan 2004 17:15:07 -0800 +X-Original-To: pgsql-hackers-postgresql.org@localhost.postgresql.org +Received: from localhost (neptune.hub.org [200.46.204.2]) + by svr1.postgresql.org (Postfix) with ESMTP id 34FE7D1B436 + for ; Sun, 11 Jan 2004 01:13:46 +0000 (GMT) +Received: from svr1.postgresql.org ([200.46.204.71]) + by localhost (neptune.hub.org [200.46.204.2]) (amavisd-new, port 10024) + with ESMTP id 76096-05 + for ; + Sat, 10 Jan 2004 21:13:18 -0400 (AST) +Received: from curie.credativ.org (credativ.com [217.160.209.18]) + by svr1.postgresql.org (Postfix) with ESMTP id 56B90D1B430 + for ; Sat, 10 Jan 2004 21:13:15 -0400 (AST) +Received: from localhost (localhost [127.0.0.1]) + by curie.credativ.org (Postfix) with ESMTP + id 91B2A56243; Sun, 11 Jan 2004 02:13:18 +0100 (CET) +Received: from colt.pezone.net (dsl-213-023-254-001.arcor-ip.net [213.23.254.1]) + (using TLSv1 with cipher RC4-MD5 (128/128 bits)) + (No client certificate requested) + by curie.credativ.org (Postfix) with ESMTP + id 7D86F5623C; Sun, 11 Jan 2004 02:13:17 +0100 (CET) +From: Peter Eisentraut +To: Dennis =?iso-8859-1?q?Bj=F6rklund?= +Subject: Re: [HACKERS] psql \d option list overloaded +Date: Sun, 11 Jan 2004 02:13:17 +0100 +User-Agent: KMail/1.5.1 +cc: Kevin Brown , + PostgreSQL-development +References: +In-Reply-To: +MIME-Version: 1.0 +Content-Type: text/plain; + charset="iso-8859-1" +Content-Transfer-Encoding: 8bit +Content-Disposition: inline +Message-ID: <200401110213.17581.peter_e@gmx.net> +X-Virus-Scanned: by AMaViS at credativ.com +X-Virus-Scanned: by amavisd-new at postgresql.org +X-Mailing-List: pgsql-hackers +Precedence: bulk +Sender: pgsql-hackers-owner@postgresql.org +X-Spam-Checker-Version: SpamAssassin 2.61 (1.212.2.1-2003-12-09-exp) on + candle.pha.pa.us +X-Spam-Status: No, hits=-4.9 required=5.0 tests=BAYES_00 autolearn=ham + version=2.61 +Status: OR + +Dennis Björklund wrote: +> > What is wrong with +> > +> > SELECT * FROM information_schema.tables; +> +> The result is very hard to read since it's so much of it (try column +> instead of tables). The \xx commands do some nice formatting you +> don't get from the above. + +This is an interesting point to remember for those that are advocating +pushing psql's queries into the backend. psql's queries are optimized +for monospaced text screens of limited size. Unless someone else is +writing a command-line client, there would be little reuse effect, +because any given application will have different display requirements. + +(Another problem with pushing psql's queries into the backend is that +much of the output that psql makes is not a single table. Sometimes +there is more than one table, or the information is in the table +footers. It'd be quite complicated to make the backend produce those +kinds of displays.) + + +---------------------------(end of broadcast)--------------------------- +TIP 4: Don't 'kill -9' the postmaster + +From pgsql-hackers-owner+M48957@postgresql.org Sun Jan 11 04:34:27 2004 +Return-path: +Received: from hosting.commandprompt.com (216.commandprompt.com [207.173.200.216]) + by candle.pha.pa.us (8.11.6/8.11.6) with ESMTP id i0B9YPX11678 + for ; Sun, 11 Jan 2004 04:34:26 -0500 (EST) +Received: from postgresql.org (svr1.postgresql.org [200.46.204.71]) + by hosting.commandprompt.com (8.11.6/8.11.6) with ESMTP id i0B9U9k04632; + Sun, 11 Jan 2004 01:31:12 -0800 +X-Original-To: pgsql-hackers-postgresql.org@localhost.postgresql.org +Received: from localhost (neptune.hub.org [200.46.204.2]) + by svr1.postgresql.org (Postfix) with ESMTP id C49AFD1D555 + for ; Sun, 11 Jan 2004 09:29:54 +0000 (GMT) +Received: from svr1.postgresql.org ([200.46.204.71]) + by localhost (neptune.hub.org [200.46.204.2]) (amavisd-new, port 10024) + with ESMTP id 26981-08 + for ; + Sun, 11 Jan 2004 05:29:25 -0400 (AST) +Received: from zigo.dhs.org (as2-4-3.an.g.bonet.se [194.236.34.191]) + by svr1.postgresql.org (Postfix) with ESMTP id A75DDD1D27D + for ; Sun, 11 Jan 2004 05:29:22 -0400 (AST) +Received: from zigo.zigo.dhs.org (zigo.zigo.dhs.org [192.168.0.1]) + by zigo.dhs.org (Postfix) with ESMTP + id B8DED8E0D; Sun, 11 Jan 2004 10:29:23 +0100 (CET) +Date: Sun, 11 Jan 2004 10:29:23 +0100 (CET) +From: Dennis Bjorklund +To: Peter Eisentraut +cc: Kevin Brown , + PostgreSQL-development +Subject: Re: [HACKERS] psql \d option list overloaded +In-Reply-To: <200401110213.17581.peter_e@gmx.net> +Message-ID: +MIME-Version: 1.0 +Content-Type: TEXT/PLAIN; charset=ISO-8859-1 +Content-Transfer-Encoding: 8BIT +X-Virus-Scanned: by amavisd-new at postgresql.org +X-Mailing-List: pgsql-hackers +Precedence: bulk +Sender: pgsql-hackers-owner@postgresql.org +X-Spam-Checker-Version: SpamAssassin 2.61 (1.212.2.1-2003-12-09-exp) on + candle.pha.pa.us +X-Spam-Status: No, hits=-4.9 required=5.0 tests=BAYES_00 autolearn=ham + version=2.61 +Status: OR + +On Sun, 11 Jan 2004, Peter Eisentraut wrote: + +> Another problem with pushing psql's queries into the backend is that +> much of the output that psql makes is not a single table. Sometimes +> there is more than one table, or the information is in the table +> footers. + +Yes, pushing the \xx commands into the server makes no sense to me at all. + +The commands in psql are very specific for psql. I don't see why you ever +want to do SHOW TABLES except at the command line in psql. If your +application wants to find all tables in the database, then we have the +standard sql way, which is the information schema. + +The argument that "show tables" is easier to remember then \dt might be +true, but to me that just means that we should make psql better by adding +\describe_table and such, not to push psql code into the server. + +Making a couple of views that are pg specific to make it easier to get +information out could be good however. The information schema does not +always contain all information one might want. Making specialised SQL +commands for it I'm not in favor of at all. + +-- +/Dennis Björklund + + +---------------------------(end of broadcast)--------------------------- +TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org + +From pgsql-hackers-owner+M48965@postgresql.org Sun Jan 11 12:20:30 2004 +Return-path: +Received: from noon.pghoster.com (noon.pghoster.com [64.246.0.64]) + by candle.pha.pa.us (8.11.6/8.11.6) with ESMTP id i0BHKTX05825 + for ; Sun, 11 Jan 2004 12:20:29 -0500 (EST) +Received: from svr1.postgresql.org ([200.46.204.71] helo=postgresql.org) + by noon.pghoster.com with esmtp (Exim 4.24) + id 1AfjFg-00073z-AN; Sun, 11 Jan 2004 11:19:52 -0600 +X-Original-To: pgsql-hackers-postgresql.org@localhost.postgresql.org +Received: from localhost (neptune.hub.org [200.46.204.2]) + by svr1.postgresql.org (Postfix) with ESMTP id 46DAED1B4AD + for ; Sun, 11 Jan 2004 17:18:57 +0000 (GMT) +Received: from svr1.postgresql.org ([200.46.204.71]) + by localhost (neptune.hub.org [200.46.204.2]) (amavisd-new, port 10024) + with ESMTP id 77771-03 + for ; + Sun, 11 Jan 2004 13:18:26 -0400 (AST) +Received: from sss.pgh.pa.us (unknown [192.204.191.242]) + by svr1.postgresql.org (Postfix) with ESMTP id 4F237D1B51D + for ; Sun, 11 Jan 2004 13:18:25 -0400 (AST) +Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) + by sss.pgh.pa.us (8.12.10/8.12.10) with ESMTP id i0BHI519016986; + Sun, 11 Jan 2004 12:18:05 -0500 (EST) +To: Peter Eisentraut +cc: Greg Stark , pgsql-hackers@postgresql.org +Subject: Re: [HACKERS] psql \d option list overloaded +In-Reply-To: <200401110207.26299.peter_e@gmx.net> +References: <878ykf4q13.fsf@stark.xeocode.com> <11694.1073762119@sss.pgh.pa.us> <200401110207.26299.peter_e@gmx.net> +Comments: In-reply-to Peter Eisentraut + message dated "Sun, 11 Jan 2004 02:07:25 +0100" +Date: Sun, 11 Jan 2004 12:18:05 -0500 +Message-ID: <16985.1073841485@sss.pgh.pa.us> +From: Tom Lane +X-Virus-Scanned: by amavisd-new at postgresql.org +X-Mailing-List: pgsql-hackers +Precedence: bulk +Sender: pgsql-hackers-owner@postgresql.org +X-AntiAbuse: This header was added to track abuse, please include it with any abuse report +X-AntiAbuse: Primary Hostname - noon.pghoster.com +X-AntiAbuse: Original Domain - candle.pha.pa.us +X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] +X-AntiAbuse: Sender Address Domain - postgresql.org +X-Spam-Checker-Version: SpamAssassin 2.61 (1.212.2.1-2003-12-09-exp) on + candle.pha.pa.us +X-Spam-Status: No, hits=-4.9 required=5.0 tests=BAYES_00 autolearn=ham + version=2.61 +Status: OR + +Peter Eisentraut writes: +> Tom Lane wrote: +>> 2. Some people aren't using psql. + +> I don't see why this is an issue. People not using psql are either +> using a GUI, which presumably supports plenty of "show" and "describe" +> functionality, or they're writing their own program, in which case it +> doesn't really matter how short or easy to remember the commands are. + +But this interacts with point 3 (psql breaks on every new backend +version). It's not desirable to have every GUI and large custom program +implementing its own set of metadata inquiry commands: they all have +to go through the same update pain as psql. Perhaps if people start to +rely on information_schema for those things, life will get better, +but I'm unconvinced that will happen. psql itself certainly hasn't +moved in that direction. + + regards, tom lane + +---------------------------(end of broadcast)--------------------------- +TIP 8: explain analyze is your friend + +From pgsql-hackers-owner+M48981@postgresql.org Sun Jan 11 20:52:09 2004 +Return-path: +Received: from noon.pghoster.com (noon.pghoster.com [64.246.0.64]) + by candle.pha.pa.us (8.11.6/8.11.6) with ESMTP id i0C1q8X05166 + for ; Sun, 11 Jan 2004 20:52:09 -0500 (EST) +Received: from svr1.postgresql.org ([200.46.204.71] helo=postgresql.org) + by noon.pghoster.com with esmtp (Exim 4.24) + id 1AfrF5-0005Pj-Aq; Sun, 11 Jan 2004 19:51:47 -0600 +X-Original-To: pgsql-hackers-postgresql.org@localhost.postgresql.org +Received: from localhost (neptune.hub.org [200.46.204.2]) + by svr1.postgresql.org (Postfix) with ESMTP id 654B2D1B519 + for ; Mon, 12 Jan 2004 01:50:40 +0000 (GMT) +Received: from svr1.postgresql.org ([200.46.204.71]) + by localhost (neptune.hub.org [200.46.204.2]) (amavisd-new, port 10024) + with ESMTP id 57929-03 + for ; + Sun, 11 Jan 2004 21:50:12 -0400 (AST) +Received: from lakemtao04.cox.net (lakemtao04.cox.net [68.1.17.241]) + by svr1.postgresql.org (Postfix) with ESMTP id DD464D1D576 + for ; Sun, 11 Jan 2004 21:50:07 -0400 (AST) +Received: from [192.168.0.13] ([68.105.168.121]) by lakemtao04.cox.net + (InterMail vM.5.01.06.05 201-253-122-130-105-20030824) with ESMTP + id <20040112015012.MDVR19895.lakemtao04.cox.net@[192.168.0.13]>; + Sun, 11 Jan 2004 20:50:12 -0500 +From: Robert Treat +To: Jon Jensen , pgsql-hackers@postgresql.org +Subject: Re: [HACKERS] psql \d option list overloaded +Date: Sun, 11 Jan 2004 20:50:08 -0500 +User-Agent: KMail/1.5 +References: <11694.1073762119@sss.pgh.pa.us> +In-Reply-To: +MIME-Version: 1.0 +Content-Type: text/plain; + charset="iso-8859-1" +Content-Transfer-Encoding: 7bit +Content-Disposition: inline +Message-ID: <200401112050.09142.xzilla@users.sourceforge.net> +X-Virus-Scanned: by amavisd-new at postgresql.org +X-Mailing-List: pgsql-hackers +Precedence: bulk +Sender: pgsql-hackers-owner@postgresql.org +X-AntiAbuse: This header was added to track abuse, please include it with any abuse report +X-AntiAbuse: Primary Hostname - noon.pghoster.com +X-AntiAbuse: Original Domain - candle.pha.pa.us +X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] +X-AntiAbuse: Sender Address Domain - postgresql.org +X-Spam-Checker-Version: SpamAssassin 2.61 (1.212.2.1-2003-12-09-exp) on + candle.pha.pa.us +X-Spam-Status: No, hits=-4.9 required=5.0 tests=BAYES_00 autolearn=ham + version=2.61 +Status: OR + +On Saturday 10 January 2004 19:16, Jon Jensen wrote: +> On Sat, 10 Jan 2004, Tom Lane wrote: +> > ISTM there are three fundamental problems with \d and friends: +> > +> > 1. Some people have a hard time remembering the commands. +> > 2. Some people aren't using psql. +> > 3. psql keeps breaking across backend versions because the +> > needed commands change. +> > +> > I don't see a lot of value in addressing just one of these problem +> > areas, when we could instead do something that addresses all three. +> +> I agree, at least for #2 and #3. But I just don't understand #1. Anything +> is hard to remember when you're just starting to learn it. But it's still +> faster to type \? then \dt than it is to type "show tables". And +> "show tables" is hard (relatively speaking) for me to remember because I'm +> used to psql's way of doing things, since I mostly use it. +> + +I'd second this point; I've certainly stumbled over the "show" syntax when +trying to get anything other than tables in mysql. + +Robert Treat +-- +Build A Brighter Lamp :: Linux Apache {middleware} PostgreSQL + +---------------------------(end of broadcast)--------------------------- +TIP 2: you can get off all lists at once with the unregister command + (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) + +From pgsql-hackers-owner+M48993@postgresql.org Mon Jan 12 12:50:40 2004 +Return-path: +Received: from noon.pghoster.com (noon.pghoster.com [64.246.0.64]) + by candle.pha.pa.us (8.11.6/8.11.6) with ESMTP id i0CHocX04973 + for ; Mon, 12 Jan 2004 12:50:39 -0500 (EST) +Received: from svr1.postgresql.org ([200.46.204.71] helo=postgresql.org) + by noon.pghoster.com with esmtp (Exim 4.24) + id 1Ag6Ck-0008V2-E5; Mon, 12 Jan 2004 11:50:22 -0600 +X-Original-To: pgsql-hackers-postgresql.org@localhost.postgresql.org +Received: from localhost (neptune.hub.org [200.46.204.2]) + by svr1.postgresql.org (Postfix) with ESMTP id ED886D1D17D + for ; Mon, 12 Jan 2004 17:49:16 +0000 (GMT) +Received: from svr1.postgresql.org ([200.46.204.71]) + by localhost (neptune.hub.org [200.46.204.2]) (amavisd-new, port 10024) + with ESMTP id 17616-05 + for ; + Mon, 12 Jan 2004 13:48:46 -0400 (AST) +Received: from curie.credativ.org (credativ.com [217.160.209.18]) + by svr1.postgresql.org (Postfix) with ESMTP id 09691D1B467 + for ; Mon, 12 Jan 2004 13:48:45 -0400 (AST) +Received: from localhost (localhost [127.0.0.1]) + by curie.credativ.org (Postfix) with ESMTP + id 45CA05626B; Mon, 12 Jan 2004 18:48:44 +0100 (CET) +Received: from colt.pezone.net (dsl-213-023-254-001.arcor-ip.net [213.23.254.1]) + (using TLSv1 with cipher RC4-MD5 (128/128 bits)) + (No client certificate requested) + by curie.credativ.org (Postfix) with ESMTP + id 2F90D5623C; Mon, 12 Jan 2004 18:48:43 +0100 (CET) +From: Peter Eisentraut +To: Tom Lane +Subject: Re: [HACKERS] psql \d option list overloaded +Date: Mon, 12 Jan 2004 18:48:43 +0100 +User-Agent: KMail/1.5.1 +cc: Greg Stark , pgsql-hackers@postgresql.org +References: <200401110207.26299.peter_e@gmx.net> <16985.1073841485@sss.pgh.pa.us> +In-Reply-To: <16985.1073841485@sss.pgh.pa.us> +MIME-Version: 1.0 +Content-Type: text/plain; + charset="iso-8859-15" +Content-Transfer-Encoding: 7bit +Content-Disposition: inline +Message-ID: <200401121848.43765.peter_e@gmx.net> +X-Virus-Scanned: by AMaViS at credativ.com +X-Virus-Scanned: by amavisd-new at postgresql.org +X-Mailing-List: pgsql-hackers +Precedence: bulk +Sender: pgsql-hackers-owner@postgresql.org +X-AntiAbuse: This header was added to track abuse, please include it with any abuse report +X-AntiAbuse: Primary Hostname - noon.pghoster.com +X-AntiAbuse: Original Domain - candle.pha.pa.us +X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] +X-AntiAbuse: Sender Address Domain - postgresql.org +X-Spam-Checker-Version: SpamAssassin 2.61 (1.212.2.1-2003-12-09-exp) on + candle.pha.pa.us +X-Spam-Status: No, hits=-4.9 required=5.0 tests=BAYES_00 autolearn=ham + version=2.61 +Status: OR + +Tom Lane wrote: +> But this interacts with point 3 (psql breaks on every new backend +> version). It's not desirable to have every GUI and large custom +> program implementing its own set of metadata inquiry commands: they +> all have to go through the same update pain as psql. Perhaps if +> people start to rely on information_schema for those things, life +> will get better, but I'm unconvinced that will happen. psql itself +> certainly hasn't moved in that direction. + +IIRC, the two killers in psql compatibility have been outer joins and +schemas. I don't see how we could have avoided that, except with +highly specialized and static (parameter-less) commands. There have +been additional minor issues, but I suppose we could have avoided those +if we had cared to do so at all. + +Several people have in the past proposed to keep psql backward +compatible, even if only by means of + +if (version =x) { + ... +} +else if (version = y) { + ... +} + +(which would be fine by me), but apparently no one has felt pressed +enough yet. + + +---------------------------(end of broadcast)--------------------------- +TIP 4: Don't 'kill -9' the postmaster +