Re: Creating table columns from ??? - Mailing list pgsql-novice

From Giles Lean
Subject Re: Creating table columns from ???
Date
Msg-id 3636.991523825@nemeton.com.au
Whole thread Raw
In response to Creating table columns from ???  (Chadwick Rolfs <c2304182@webdevel.urban.csuohio.edu>)
List pgsql-novice
> It seems that there is a missing function that would be very obvious and
> one of the first things available:
>   here's what I want to do:
>     create table form_two ( <file with names and values> );
>   or even better, from perl, or php (I am now using Pg.pm)
>     create table form_two ( %hash_with_names_and_values );
...
> (doesn't this seem a bit cumbersome?)

Well, you have to describe the table once, sometime, but it's source
code like the rest of your application -- no need to retype it:

     $ psql < file

If 'file' isn't quite in the 'create table ... ( ... )' syntax you
might need to process it first, but that's easy with a suitable
scripting language, and you mentioned perl already. :-)

In perl (and probably PHP) iterating over a hash building up a string
is also easy, so if you are starting from a perl hash something like
this works:

     $query = "create table T (";
     for $key (keys %hash) {
         $query .= "$comma $key $hash{$key}";
         $comma = ",";
     }
     $query .= ")";

     $dbh->do($query);

Hope that helps.

Regards,

Giles

pgsql-novice by date:

Previous
From: "Mohammed A"
Date:
Subject: monitoring
Next
From: Nabil Sayegh
Date:
Subject: Re: monitoring