X-Original-To: pgsql-interfaces-postgresql.org@localhost.postgresql.org Received: from localhost (unknown [200.46.204.144]) by svr1.postgresql.org (Postfix) with ESMTP id 5AA91D1B174 for ; Thu, 8 Jul 2004 15:39:58 -0300 (ADT) Received: from svr1.postgresql.org ([200.46.204.71]) by localhost (av.hub.org [200.46.204.144]) (amavisd-new, port 10024) with ESMTP id 22829-06 for ; Thu, 8 Jul 2004 18:39:50 +0000 (GMT) Received: from ssmcmail.nems.noaa.gov (ssmcmail.nems.noaa.gov [205.156.4.221]) by svr1.postgresql.org (Postfix) with ESMTP id 3C4D3D1B295 for ; Thu, 8 Jul 2004 15:39:48 -0300 (ADT) Received: from noaa.gov ([140.90.8.138]) by ssmcmail.nems.noaa.gov (Netscape Messaging Server 4.15) with ESMTP id I0JQID00.0A3 for ; Thu, 8 Jul 2004 14:39:49 -0400 Message-ID: <40ED94F5.71337531@noaa.gov> Date: Thu, 08 Jul 2004 14:39:49 -0400 From: Paul Tilles Organization: DOC/NOAA/NWS - National Weather Service X-Sender: "Paul Tilles" X-Mailer: Mozilla 4.77 [en]C-CCK-MCD (Windows NT 5.0; U) X-Accept-Language: en MIME-Version: 1.0 To: interfaces Subject: [Fwd: typlen field in the pg_type table] Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Virus-Scanned: by amavisd-new at hub.org X-Spam-Status: No, hits=0.0 tagged_above=0.0 required=5.0 tests= X-Spam-Level: X-Archive-Number: 200407/21 X-Sequence-Number: 5027 Forgot to mention that I am working with Version 7.4.3. Paul Tilles wrote: > For each table in my database, I am trying to extract the column name, > column type and column length from the system catalog tables. I am able > to get the column name from the pg_attribute table and the column type > from the pg_type table. However, I am having a problem extracting the > length of character columns from the typlen field of the pg_type table. > > For example, I have a column defined as a char(20). The column type is > set to "bpchar" but the typlen value for this column is -1. The > documentation says that a value of -1 indicates "... has a length > word". Can I extract the length of the field (in this case 20) from any > field in the system catalog tables? > > In the documentation (Section 43.29) for the typlen field, it says "... > for a variable-length type, typlen is negative". In Section 10.4, Item > 3 says "... fixed-length type(e.g., char ...". All of the char columns > in my database have typlen = -1. IS A CHAR FIELD CONSIDERED A > FIXED-LENGTH OR VARIABLE-LENGTH TYPE BY POSTGRESQL? > > Paul Tilles