Thread: Backend Protocol Examples?
I tried to do execute the following, but each time the program hangs waiting on the ReceiveString. Also, the new postgres process started to handle the query has a really high CPU % as reported by top. I'd love to see simple examples of conversing with the backend. Also, is there a nice summary of the protocol that offers more nitty-gritty than the standard FE/BE discussion in the 7.4 docs? Thanks! synchronized( pg_stream ) { try { pg_stream.SendChar('Q'); pg_stream.Send( c.getEncoding().encode( "BEGIN" )); pg_stream.SendChar(0); pg_stream.flush(); System.out.println("step1"); str = pg_stream.ReceiveString( c.getEncoding() ); System.out.println("step2");
Guess my next question is does anyone know of a more appropriate place to ask this question? I know some work was done on creating a COPY api -- hopefully that code makes it into a future JDBC release, and I can study that. groups@ezotyrik.org (Ezotyrik) wrote in message news:<3b4102b7.0311301948.59eae584@posting.google.com>... > I tried to do execute the following, but each time the program hangs > waiting on the ReceiveString. Also, the new postgres process started > to handle the query has a really high CPU % as reported by top. > > I'd love to see simple examples of conversing with the backend. Also, > is there a nice summary of the protocol that offers more nitty-gritty > than the standard FE/BE discussion in the 7.4 docs? > > Thanks! > > synchronized( pg_stream ) { > try { > pg_stream.SendChar('Q'); > pg_stream.Send( c.getEncoding().encode( "BEGIN" )); > pg_stream.SendChar(0); > pg_stream.flush(); > > System.out.println("step1"); > str = pg_stream.ReceiveString( c.getEncoding() ); > System.out.println("step2");
On 4 Dec 2003, Ezotyrik wrote: > Guess my next question is does anyone know of a more appropriate place > to ask this question? If your question is just about the fe/be protocol than -hackers is probably a better place to ask, but if it's about java than here is correct. I read your original message, but wasn't inspired to reply because I had no idea what you were trying to do. Why are you trying to directly communicate with the server? I would start by looking at org.postgresql.core.QueryExecutor's sendQueryV3 and sendQueryV2 methods. You seem to be using the V2 method (no message length). Could that be the problem? Kris Jurka
Thanks for the direction. What am I trying to do? I wanted to send a COPY command directly to the backend. COPY implemented as an input stream, would be fast, and allow easy monitoring of % complete. books@ejurka.com (Kris Jurka) wrote in message news:<Pine.LNX.4.33.0312091910290.18364-100000@leary.csoft.net>... > On 4 Dec 2003, Ezotyrik wrote: > > > Guess my next question is does anyone know of a more appropriate place > > to ask this question? > > If your question is just about the fe/be protocol than -hackers is > probably a better place to ask, but if it's about java than here is > correct. I read your original message, but wasn't inspired to reply > because I had no idea what you were trying to do. Why are you trying to > directly communicate with the server? > > I would start by looking at org.postgresql.core.QueryExecutor's > sendQueryV3 and sendQueryV2 methods. You seem to be using the V2 method > (no message length). Could that be the problem? > > Kris Jurka > > > ---------------------------(end of broadcast)--------------------------- > TIP 5: Have you checked our extensive FAQ? > > http://www.postgresql.org/docs/faqs/FAQ.html