What is the impact of building Postgres with --disable-thread-safety option? I am a newbie in the database field. Recently I have been trying to install Postgres 9.3.4 on AIX 6.1. When I was building the code with the configure command, I ran into this error:

checking thread safety of required library functions... no
configure: error: thread test program failed
This platform is not thread-safe.  Check the file 'config.log' or compile
and run src/test/thread/thread_test for the exact reason.
Use --disable-thread-safety to disable thread safety.

I am only able to compile successfully after using the -disable-thread-safety option. As such, I would like to know what is the impact of using this option towards the database reliability. What does 'client libraries' mean in terms of using the database with this option?

I would also like to know how to compile the thread_test.c and run it manually. The manual says:
        - run "configure" 
        - compile the main source tree
        - compile and run this program

But I haven't been successful in compiling it.

*Edit:
Here are the steps that I took to compile thread_test.c:
1. I first ran configure with the --disable-thread-safety option to get the source tree. 
2. Then from the build directory, I ran "gmake" to compile main source tree.
3. When's that's done, I moved into the src/test/thread folder and tried to run "gmake".
I got this error:

`gmake: *** No rule to make target `thread_test.o', needed by `thread_test'.  Stop.


If I run "make", I get many errors like this:

"../../../src/Makefile.global", line 45: make: Dependency line needs colon or double colon operator.&lt;br&gt;
"../../../src/Makefile.global", line 48: make: Dependency line needs colon or double colon operator.&lt;br&gt;
"../../../src/Makefile.global", line 52: make: Dependency line needs colon or double colon operator.&lt;br&gt;
"../../../src/Makefile.global", line 72: make: Dependency line needs colon or double colon operator.&lt;br&gt;
"../../../src/Makefile.global", line 84: make: Dependency line needs colon or double colon operator.&lt;br&gt;
"../../../src/Makefile.global", line 85: make: Dependency line needs colon or double colon operator.&lt;br&gt;
"../../../src/Makefile.global", line 87: make: Dependency line needs colon or double colon operator.&lt;br&gt;
"../../../src/Makefile.global", line 88: make: Dependency line needs colon or double colon operator.&lt;br&gt;
"../../../src/Makefile.global", line 91: make: Dependency line needs colon or double colon operator.&lt;br&gt;
make: Equal sign not found in macro substitution.&lt;br&gt;


I might be doing something wrong here...Can someone be kind enough to point out my mistakes in compiling the src/test/thread/thread_test.c file?

Thanks for all your patience with me. :)
Disabling thread safety will mean that libpq can't be safely used with multi-threaded applications unless the app is very careful to only interact with it using a single thread.

This isn't a concern for the great majority of apps.