General Questions
Can I become a project member?
Probably not, simply because there is no real "membership status." The mailing lists are open to all. And commit privileges to the Subversion repository are granted to people who are already making significant contributions—just because it becomes more practical than handling individual patches all the time. Strangers submitting requests for membership are likely to be disappointed: I simply don't know what to do with such a request.
If you wish to collaborate on the project, that's easy. Just do it! Try posting your patches, bug reports, complaints or suggestions to the libpqxx-general mailing list, or to the bug tracker. Build a name for yourself helping answer other users' questions on the mailing list, and join in design discussions. Be sure to give your name, so you can be given proper credit in the change log.
What platforms does libpqxx run on?
For starters, just about anything that bears any resemblance to Unix (the various flavours of GNU/Linux and of BSD, Apple's OS/X, Solaris, AIX, HP/UX, Irix etc.). The processor architecture doesn't matter much: libpqxx has been extensively tested on 32-bit and 64-bit x86; 64-bit UltraSPARC; and 32-bit and 64-bit PowerPC. None of these required any changes or special support. So even if you're working on a different architecture, you can expect libpqxx to compile cleanly and work straight away. As one example, Debian ships libpqxx packages built for about a dozen different CPU architectures (see build log—latest builds are at the bottom). Users of Unix-like systems typically get their binaries from their OS distributor network, but it's not much work to build and install your own either.
Then there's Microsoft Windows. This platform is supported, but it's a bit more difficult because of its lack of package management, software distribution infrastructure, standardized development environment, filesystem layout standards and so on. The easiest way to build and use libpqxx on a Windows system is to install a port of the GNU toolset such as MSYS, and proceed as you were using a Unix variant. Alternatively, libpqxx comes with pre-built configuration headers and Makefiles for use with Visual C++. See win32/INSTALL.txt for instructions.
What PostgreSQL versions are supported?
As a general rule, all "current" major releases for which documentation is available on the main postgres documentation page. At this entry's time of writing, those range from 7.3 to 8.2. We regularly test libpqxx against the most recent and the oldest current libpq and backend versions, in both matched and mismatched combinations.
I want to use libpq++ and I have a question!
These two libraries are completely separate projects. In fact libpqxx was written from scratch because the problems with libpq++ ran too deep to fix. Around the time libpqxx was published, all postgres client interfaces were taken out of the main package and this included both the older libpq++ and the new libpqxx. Both now have their separate project sites; you're currently looking at the one for libpqxx.
How does libpqxx relate to libpq++? Which one should I choose?
libpqxx was written to replace the aging libpq++, and has been the official C++ interface for years. So choose libpqxx if you can.
There is one exception: libpqxx requires a fairly modern C++ compiler, such as gcc 3.0 or better. If you have lots of problems building libpqxx, you may have to resort to the simpler libpq++.
If you get errors building libpqxx but they're not insurmountable, the best thing to do is to report them as a bug so we can fix the code and/or add workarounds.
Isn't "Postgre" a strange name?
Yes. That's because it's wrong.
The correct short version of PostgreSQL is postgres, with the "s" at the end.
Why isn't there any documentation?
There is. Check out the README file, and the doc/html/Tutorial and doc/html/Reference directories (also available online). There are also additional documentation files for Windows (in the win32 directory) and for major upgrades.
Furthermore, the header files found in include/pqxx/ are extensively commented. These comments are automatically extracted to generate the reference documentation.
Finally, the test programs in the test/ directory provide working examples of how to program using libpqxx.
