Thread: Insert a description while creating a table
Hi, I want to insert descriptions at the columns of my tables but without using the command COMMENT ON. I want to do it together with the table creation. Is that possible? I wanna do something like this: create table test (id serial 'Descripitions about ID',name varchar(50) 'Descriptions about NAME' ); Thanks in advance Luiz. -- ************************* * Luiz Fernando Pinto * * -*- * * Klais Desenvolvimento * * luiz@klais.com.br * *************************
On Wed, 2003-08-13 at 07:56, luiz@klais.com.br wrote: > Hi, > > I want to insert descriptions at the columns of my tables but without > using the command COMMENT ON. I want to do it together with the table > creation. Is that possible? > > I wanna do something like this: > > create table test ( > id serial 'Descripitions about ID', > name varchar(50) 'Descriptions about NAME' > ); Probably not going to happen in the backend. However, you should be able to accomplish that with a little bit of Perl to pre-process the SQL.
create table test (<br /> id serial ,<br /> name varchar(50) <br /> );<br /><br /> <br /> COMMENT ON TABLE"test"<br /> IS 'MySQL table<br /> id_training_form ... id_form_unique';<br /><br /> comment on COLUMN "test"."id"<br/> is 'greigjreoigjreigjore iojrjiogre' ;<br /><br /><br /> Doc postgresql comment<br /><br /><br /> Rod Taylorwrote:<br /><blockquote cite="mid1060776408.86938.12.camel@jester" type="cite"><pre wrap="">On Wed, 2003-08-13 at 07:56,<a class="moz-txt-link-abbreviated" href="mailto:luiz@klais.com.br">luiz@klais.com.br</a> wrote: </pre><blockquotetype="cite"><pre wrap="">Hi, I want to insert descriptions at the columns of my tables but without using the command COMMENT ON. I want to do it together with the table creation. Is that possible? I wanna do something like this: create table test (id serial 'Descripitions about ID',name varchar(50) 'Descriptions about NAME' ); </pre></blockquote><pre wrap=""> Probably not going to happen in the backend. However, you should be able to accomplish that with a little bit of Perl to pre-process the SQL. </pre></blockquote>
> > I want to insert descriptions at the columns of my tables but without > > using the command COMMENT ON. I want to do it together with the table > > creation. Is that possible? > > > > I wanna do something like this: > > > > create table test ( > > id serial 'Descripitions about ID', > > name varchar(50) 'Descriptions about NAME' > > ); > > Probably not going to happen in the backend. > > However, you should be able to accomplish that with a little bit of Perl > to pre-process the SQL. > That perl script comes to my mind too. The reason why Luiz doesn't like it, may be because you can't see these descriptions within psql using \dd test I did the create table, then COMMENT ON COLUMN test.id is 'Descripitions about ID'; COMMENT ON COLUMN test.name is 'Descriptions about NAME'; \dd test shows Object descriptionsSchema | Name | Object | Description --------+------+--------+------------- (0 rows) This is odd. OK, I know the doc says \dd [ pattern ] Shows the descriptions of objects matching the pattern, or of all visible objects if no argument is given. But in either case, only objects that have a description are listed. ("Object"covers aggregates, functions, operators, types, relations (tables, views, indexes, sequences, large objects), rules, and triggers.)For example: Nothing about columns. But what is the purpose of comments on columns if you can only get them via select * from pg_description whereobjoid = (select typrelid from pg_type where typname='test')order by objsubid ;objoid |classoid | objsubid | description --------+----------+----------+------------------------- 17326 | 1259 | 1 | Descripitions about ID 17326 | 1259 | 2 | Descriptions about NAME (2 rows) which you'll have to find out on your own. Regards, Christoph
Hi Christoph, I'm thinking that the best solution is create a script in perl or python that executes de COMMENT command to me. My initial idea would be comment my columns in a standard way and then run the script. My comment that will turn into description will start with "/*$" instead of the simple "/*", for instance. Regards, Luiz. On Wed, 13 Aug 2003, Christoph Haller wrote: > > > I want to insert descriptions at the columns of my tables but > without > > > using the command COMMENT ON. I want to do it together with the > table > > > creation. Is that possible? > > > > > > I wanna do something like this: > > > > > > create table test ( > > > id serial 'Descripitions about ID', > > > name varchar(50) 'Descriptions about NAME' > > > ); > > > > Probably not going to happen in the backend. > > > > However, you should be able to accomplish that with a little bit of > Perl > > to pre-process the SQL. > > > That perl script comes to my mind too. > The reason why Luiz doesn't like it, may be because you can't > see these descriptions within psql using \dd test > > I did > the create table, then > COMMENT ON COLUMN test.id is 'Descripitions about ID'; > COMMENT ON COLUMN test.name is 'Descriptions about NAME'; > \dd test shows > > Object descriptions > Schema | Name | Object | Description > --------+------+--------+------------- > (0 rows) > > This is odd. OK, I know the doc says > \dd [ pattern ] > > Shows the descriptions of objects matching the pattern, or of all > visible objects if no argument is given. But in either case, > only objects that have a description are listed. ("Object" covers > aggregates, functions, operators, types, relations (tables, views, > indexes, sequences, large objects), rules, and triggers.) For > example: > > Nothing about columns. > But what is the purpose of comments on columns if you can only get them > via > select * from pg_description where > objoid = (select typrelid from pg_type where typname='test') > order by objsubid ; > objoid | classoid | objsubid | description > --------+----------+----------+------------------------- > 17326 | 1259 | 1 | Descripitions about ID > 17326 | 1259 | 2 | Descriptions about NAME > (2 rows) > > which you'll have to find out on your own. > > Regards, Christoph > > > > ---------------------------(end of broadcast)--------------------------- > TIP 4: Don't 'kill -9' the postmaster > > -- ************************* * Luiz Fernando Pinto * * -*- * * Klais Desenvolvimento * * luiz@klais.com.br * *************************
On Wed, Aug 13, 2003 at 02:54:59PM +0200, Christoph Haller wrote: > \dd test shows > > Object descriptions > Schema | Name | Object | Description > --------+------+--------+------------- > (0 rows) > > This is odd. OK, I know the doc says > \dd [ pattern ] > > Shows the descriptions of objects matching the pattern, or of all > visible objects if no argument is given. But in either case, > only objects that have a description are listed. ("Object" covers > aggregates, functions, operators, types, relations (tables, views, > indexes, sequences, large objects), rules, and triggers.) For > example: > > Nothing about columns. > But what is the purpose of comments on columns if you can only get them > via > select * from pg_description where Have you tried \d+ tablename? (sorry for the long lines ";-) drbob=# \dd object Object descriptionsSchema | Name | Object | Description --------+--------+--------+-------------------------------------------------public | object | table | The table that holdsall instances of objects. (1 row) drbob=# \d+ object Table "public.object" Column | Type | Modifiers | Description ------------------+-----------------------------+----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------id | integer | not null default nextval('shared_ids'::text) | (global) unique ID for this tableobject_def_id | integer | not null | foreign key to object_def.idname | character varying(60) | | natural name of this objectsuperobject_id | integer | | foreign key to object.id. This field is only filled in when the this object is a subobject of another object (EG a port in a router)subobject_def_id | integer | | foreign key to subobject_def.id. This field is only filled in when this object is a subobject of another object (EG a port in a router)has_subobject | boolean | not nulldefault 'FALSE' | boolean indicating that this object instance has subobjects (EG router that has ports)date_added | timestamp without time zone | | date this record was added to the databaseuser_added | character varying(20) | | username that added this record to the databasedate_changed | timestamp without time zone | | date this record was last changeduser_changed | character varying(20) | | username that made the last change to this record Indexes: pk_object primary key btree (id), object_pk unique btree (id), object_object_def_fk btree (object_def_id), object_object_fk btree (superobject_id), object_subobject_def_fk btree (subobject_def_id) Triggers: tdb_object, tiua_object, tiub_object -- __________________________________________________ "Nothing is as subjective as reality" Reinoud van Leeuwen reinoud.v@n.leeuwen.net http://www.xs4all.nl/~reinoud __________________________________________________
> On Wed, Aug 13, 2003 at 02:54:59PM +0200, Christoph Haller wrote: > > \dd test shows > > > > Object descriptions > > Schema | Name | Object | Description > > --------+------+--------+------------- > > (0 rows) > > > > This is odd. OK, I know the doc says > > \dd [ pattern ] > > > > Shows the descriptions of objects matching the pattern, or of all > > visible objects if no argument is given. But in either case, > > only objects that have a description are listed. ("Object" covers > > aggregates, functions, operators, types, relations (tables, views, > > indexes, sequences, large objects), rules, and triggers.) For > > example: > > > > Nothing about columns. > > But what is the purpose of comments on columns if you can only get them > > via > > select * from pg_description where > > Have you tried \d+ tablename? (sorry for the long lines ";-) > I apologize for complaining, missed that completely. Thanks to Reinoud for pointing this out. Regards, Christoph
<pre wrap="">comment on table "test" is 'fziofeiozfiezojfezjfeziojfeziojf ezfjioezifj ezio' ; </pre><br /><br /> Rod Taylor wrote:<br /><blockquote cite="mid1060776408.86938.12.camel@jester" type="cite"><pre wrap="">OnWed, 2003-08-13 at 07:56, <a class="moz-txt-link-abbreviated" href="mailto:luiz@klais.com.br">luiz@klais.com.br</a>wrote: </pre><blockquote type="cite"><pre wrap="">Hi, I want to insert descriptions at the columns of my tables but without using the command COMMENT ON. I want to do it together with the table creation. Is that possible? I wanna do something like this: create table test (id serial 'Descripitions about ID',name varchar(50) 'Descriptions about NAME' ); </pre></blockquote><pre wrap=""> Probably not going to happen in the backend. However, you should be able to accomplish that with a little bit of Perl to pre-process the SQL. </pre></blockquote>