From 400fb19a30fe35da91fb2ed68c5b28c0083ef880 Mon Sep 17 00:00:00 2001 From: Bruce Momjian <bruce@momjian.us> Date: Thu, 28 May 2009 20:02:10 +0000 Subject: [PATCH] Document that forking while having open libpq connections is not advised. --- doc/src/sgml/libpq.sgml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/doc/src/sgml/libpq.sgml b/doc/src/sgml/libpq.sgml index 44b117e4cd..85ba6dadd1 100644 --- a/doc/src/sgml/libpq.sgml +++ b/doc/src/sgml/libpq.sgml @@ -1,4 +1,4 @@ -<!-- $PostgreSQL: pgsql/doc/src/sgml/libpq.sgml,v 1.288 2009/04/27 16:27:36 momjian Exp $ --> +<!-- $PostgreSQL: pgsql/doc/src/sgml/libpq.sgml,v 1.289 2009/05/28 20:02:10 momjian Exp $ --> <chapter id="libpq"> <title><application>libpq</application> - C Library</title> @@ -64,6 +64,16 @@ whether a connection was successfully made before queries are sent via the connection object. + <warning> + <para> + On Unix, forking a process with open libpq connections can lead to + unpredictable results because the parent and child processes share + the same sockets and operating system resources. For this reason, + such usage is not recommended, though doing an <function>exec</> from + the child process to load a new executable is safe. + </para> + </warning> + <note> <para> On Windows, there is a way to improve performance if a single