> 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