ओडीबीसी उपयोगी है यदि आप एक मानक एडाप्टर चाहते हैं जो विभिन्न डेटाबेस के लिए समान एपीआई बोलता है। मुझे व्यक्तिगत रूप से लगता है कि यह एक भयानक एपीआई है, लेकिन यह व्यापक रूप से समझा और अच्छी तरह से प्रलेखित है।
libpq PostgreSQL से अधिक सीधे बात करता है। आप इसके साथ बेहतर प्रदर्शन प्राप्त कर सकते हैं, लेकिन शायद इतना अधिक नहीं कि इससे अधिकांश ऐप्स के लिए कोई फर्क पड़ेगा, जो क्लाइंट लाइब्रेरी में नहीं, क्वेरी निष्पादन, नेटवर्क विलंबता आदि पर समय व्यतीत करते हैं।
psqlODBC के नए संस्करण libpq पर बनाए गए हैं और libpq के लिए ODBC आवरण के रूप में काम करते हैं।
libdbi भी है, जो ODBC की तुलना में कम भयानक API प्रदान करता है।
पूर्णता के लिए, सर्वर-बैकएंड एसपीआई भी है, जिसका उपयोग सी में लिखे गए उपयोगकर्ता-परिभाषित कार्यों द्वारा किया जा सकता है और पोस्टग्रेएसक्यूएल सर्वर में लोड किया जा सकता है। यह सर्वर एक्सटेंशन और कार्यों के बाहर उपयोगी नहीं है।
ओह, और ईसीपीजी है। ईसीपीजी का प्रयोग न करें। यह एक सुपर-विरासत भाषा-एकीकृत-एसक्यूएल उपकरण है जो मुख्य रूप से कुछ अन्य डेटाबेस इंजनों से आसान पोर्टिंग के लिए मौजूद है। ईसीपीजी का प्रयोग न करें। सच में।
सी ++ के लिए क्यूटीएसक्यूएल इंटरफ़ेस है (असामान्य रूप से क्यूटी के लिए, यह भयानक और दर्दनाक रूप से सीमित है, इसका उपयोग न करें) और libpq++ (ठीक है लेकिन काफी हद तक अनियंत्रित)।
व्यक्तिगत रूप से मैं सीधे libpq कोड लिखता हूं, लेकिन ऐसा इसलिए है क्योंकि मैं उस कोड पर काम कर रहा हूं जो आमतौर पर PostgreSQL में स्वयं जाता है। यदि आप कभी भी PostgreSQL को छोड़कर किसी भी चीज़ को लक्षित करने की कल्पना नहीं कर सकते हैं तो आप libpq कोड लिखना चाहेंगे; अन्यथा शायद ODBC का उपयोग psqlODBC के साथ करें।