Lists: | pgsql-interfaces |
---|
From: | Fischer Ulrich <ulrich(dot)fischer(at)aerodynamics(dot)ch> |
---|---|
To: | pgsql-interfaces(at)postgresql(dot)org |
Subject: | Connect to a PostgreSQL-Server by TCP/IP |
Date: | 2005-06-22 15:37:58 |
Message-ID: | 42B985D6.8050603@aerodynamics.ch |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-interfaces |
Hello
I'm new in this List.
I would like to connect to a Postgres-Server by a LabView-Client. The
problem is, there is NO odbc-driver for LV on Linux and no LV-interface
to postgreSQL.
So I decided to make my own simple LabView driver. Are there some docs,
which describes the basic communication over a tcp connection between
the postgres server and a client? I'm interested in 'message
architecture' (header, data for login, sql-querys and so on...) and all
this stuff.
I tried some backward engineering by sniffing the tcp connection, but it
is rather anoying. It looks like the messages have some binary headers
and they are a problem....
Has anybody an idea? Thanks for your help!!!
Regards
Ulrich
Sniffing the communication between a running perl-script (DBI) and postgres:
open tcp connection ..ok
client request .......296 bytes (???)
Postgres response ....1 byte (4e)
client request .......296 bytes (including dbname username in
ascii)
Postgres response ....5 bytes (52 00 00 00 03)
client request .......14 bytes (including password in ascii)
Postgres response ....15 bytes (52 00 00 00 00 4b 00 00 78 6f 0c 43 eb
70 5a)
client request .......44 bytes (Qbegin ; select getdatabaseencoding();
commit)
Postgres response ....79 bytes (CBEGIN Pblank getdatabaseencoding
SQL_ASCIICSELECT CCOMMIT)
client request .......60 bytes (Qselect pid, name, vorname from
mitarbeiter where pid= 'fiu')
Postgres response ....96 bytes (Pblank pid name Dvorname fiu Fischer
UlrichCSELECT)
client request .......1 byte (58)
--
Ulrich G. Fischer Dipl. Natw. ETH
Center Aerodynamics Ruag Aerospace
P.O. Box 301 CH-6032 Emmen
Tel. +41 41 268 23 53 Fax. +41 41 268 38 97
ulrich(dot)fischer(at)aerodynamics(dot)ch www.ruag.com
From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Fischer Ulrich <ulrich(dot)fischer(at)aerodynamics(dot)ch> |
Cc: | pgsql-interfaces(at)postgresql(dot)org |
Subject: | Re: Connect to a PostgreSQL-Server by TCP/IP |
Date: | 2005-06-22 15:51:30 |
Message-ID: | 9398.1119455490@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-interfaces |
Fischer Ulrich <ulrich(dot)fischer(at)aerodynamics(dot)ch> writes:
> So I decided to make my own simple LabView driver. Are there some docs,
> which describes the basic communication over a tcp connection between
> the postgres server and a client?
http://www.postgresql.org/docs/8.0/static/protocol.html
regards, tom lane
From: | Tomasz Myrta <jasiek(at)klaster(dot)net> |
---|---|
To: | pgsql-interfaces(at)postgresql(dot)org |
Subject: | Re: Connect to a PostgreSQL-Server by TCP/IP |
Date: | 2005-08-10 10:38:23 |
Message-ID: | ddcldhddcldh$1tbi$1@news.hub.orgtbiddcldh$1tbi$1@news.hub.org@news.hub.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-interfaces |
Fischer Ulrich napisal 2005-06-22 17:37:
> Hello
>
> I'm new in this List.
> I would like to connect to a Postgres-Server by a LabView-Client. The
> problem is, there is NO odbc-driver for LV on Linux and no LV-interface
> to postgreSQL.
> So I decided to make my own simple LabView driver. Are there some docs,
> which describes the basic communication over a tcp connection between
> the postgres server and a client? I'm interested in 'message
> architecture' (header, data for login, sql-querys and so on...) and all
> this stuff.
May I ask you, why do you want to make your own direct TCP connection to
PostgreSQL? I think, in your case it would be much easier to create some
wrapper for libpq or some other frontend library. It needs less work and
you don't have to be afraid about tracking internal protocol changes.
> I tried some backward engineering by sniffing the tcp connection, but it
> is rather anoying. It looks like the messages have some binary headers
> and they are a problem....
Maybe source code of common used PostgresSQL frontends like libpq will
help you?
Regards,
Tomasz Myrta
From: | jasiek(at)klaster(dot)net |
---|---|
To: | pgsql-interfaces(at)postgresql(dot)org |
Subject: | cancel <ddcldh$1tbi$1@news.hub.org> |
Date: | 2005-08-10 10:41:26 |
Message-ID: | ddclkl3cddclkl$273c$1@news.hub.org@news.hub.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-interfaces |
This message was cancelled from within Mozilla.
From: | John DeSoi <desoi(at)pgedit(dot)com> |
---|---|
To: | Tomasz Myrta <jasiek(at)klaster(dot)net> |
Cc: | pgsql-interfaces(at)postgresql(dot)org |
Subject: | Re: Connect to a PostgreSQL-Server by TCP/IP |
Date: | 2005-08-10 18:30:23 |
Message-ID: | 3624362A-B592-4C4E-9FAF-E596C8D8D704@pgedit.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-interfaces |
On Aug 10, 2005, at 6:38 AM, Tomasz Myrta wrote:
> Fischer Ulrich napisal 2005-06-22 17:37:
>
>> Hello
>> I'm new in this List.
>> I would like to connect to a Postgres-Server by a LabView-Client.
>> The problem is, there is NO odbc-driver for LV on Linux and no LV-
>> interface to postgreSQL.
>> So I decided to make my own simple LabView driver. Are there some
>> docs, which describes the basic communication over a tcp
>> connection between the postgres server and a client? I'm
>> interested in 'message architecture' (header, data for login, sql-
>> querys and so on...) and all this stuff.
>>
> May I ask you, why do you want to make your own direct TCP
> connection to PostgreSQL? I think, in your case it would be much
> easier to create some wrapper for libpq or some other frontend
> library. It needs less work and you don't have to be afraid about
> tracking internal protocol changes.
>
>
>> I tried some backward engineering by sniffing the tcp connection,
>> but it is rather anoying. It looks like the messages have some
>> binary headers and they are a problem....
>>
> Maybe source code of common used PostgresSQL frontends like libpq
> will help you?
PostgreSQL has a very nice and well documented protocol. See
http://www.postgresql.org/docs/8.0/static/protocol.html
John DeSoi, Ph.D.
http://pgedit.com/
Power Tools for PostgreSQL