PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

ODBC v Libpq:Pustaka C untuk PostgreSQL

ODBC berguna jika Anda menginginkan adaptor standar yang menggunakan API serupa untuk database yang berbeda. Menurut saya pribadi, ini adalah API yang buruk, tetapi dipahami secara luas dan didokumentasikan dengan baik.

libpq berbicara lebih langsung ke PostgreSQL. Anda bisa mendapatkan kinerja yang lebih baik dengannya, tetapi mungkin tidak cukup untuk membuat perbedaan bagi sebagian besar aplikasi, yang menghabiskan waktu untuk eksekusi kueri, latensi jaringan, dll, bukan di pustaka klien.

Versi psqlODBC yang lebih baru dibangun di atas libpq dan berfungsi sebagai pembungkus ODBC untuk libpq.

Ada juga libdbi, yang menawarkan API yang tidak seburuk ODBC.

Untuk kelengkapan, ada juga SPI server-backend, yang dapat digunakan oleh fungsi yang ditentukan pengguna yang ditulis dalam C dan dimuat ke server PostgreSQL. Ini tidak berguna di luar ekstensi dan fungsi server.

Oh, dan ada ecpg. Jangan gunakan ecpg. Ini adalah alat SQL terintegrasi bahasa super-legacy yang ada terutama untuk porting yang lebih mudah dari mesin database tertentu lainnya. Jangan gunakan ecpg. Sungguh.

Untuk C++ ada antarmuka QtSQL (tidak biasa untuk Qt, ini mengerikan dan sangat terbatas, jangan gunakan itu) dan libpq++ (OK tapi sebagian besar tidak terawat).

Secara pribadi saya menulis kode libpq secara langsung, tetapi itu karena saya sedang mengerjakan kode yang biasanya masuk ke PostgreSQL sendiri. Jika Anda tidak dapat membayangkan ingin menargetkan apa pun kecuali PostgreSQL, Anda mungkin ingin menulis kode libpq; jika tidak, mungkin gunakan ODBC dengan psqlODBC.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menyimpan output dari kueri dinamis yang menggunakan pernyataan persiapan ke dalam tabel

  2. UPDATE seluruh baris di PL/pgSQL

  3. Menggunakan beberapa database dan skema POSTGRES dengan model Flask-SQLAlchemy yang sama

  4. Bagaimana cara menggunakan (menginstal) dblink di PostgreSQL?

  5. Bagaimana Anda mendokumentasikan kode database Anda untuk melihat ketergantungan antara objek database?