Re: [SQL] Getting datatype before SELECT - Mailing list pgsql-sql

From Bryan White
Subject Re: [SQL] Getting datatype before SELECT
Date
Msg-id 001401bdec74$fb55af20$a3f0f6ce@bryan.arcamax.com
Whole thread Raw
List pgsql-sql
>> Not at all sure how to do this from C, but from perl I do something like
>> this:
>>
>>   $temp = `psql -d databasename -c "\\d tablename"`
>>
>> The item between the `s is executed and the result returned to the
>> variable.  $temp now has the full structure of the table and can be
parsed
>> to extract the column names and types.  The double \\ is needed to
prevent
>> perl from thinking that \d is a meta character (I think).
>>
>> The output of the command between the `s could also be redirected to a
>> file.
>
>In C he could do essentially the same thing.  One approach is to use system
as
>so:
>
>   system("psql -d databasename -c \"\\d tablename\" -o /tmp/somefile");
>
>And then he could open the file /tmp/somefile and parse his way through it.
>Also, he can do the what perl does to create pipes (perl is written in C)
and
>essentially do the same thing as you are doing.  I personally would go with
>the temp file, using my proccess id to as part of the tempfile name to make
it
>unique to my process, but it should not be to much work to make the proper
>system calls to do the piping...james



Is that not what popen/pclose are for.  i.e
    FILE *f = popen("psql -d databasename -c \"\\d tablename\"","r");
    ...
    pclose(f);



pgsql-sql by date:

Previous
From: James Olin Oden
Date:
Subject: Re: [SQL] Getting datatype before SELECT
Next
From: herouth maoz
Date:
Subject: Re: [SQL] Getting datatype before SELECT