PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

ODBC v Libpq:biblioteka C dla PostgreSQL

ODBC jest przydatne, jeśli potrzebujesz standardowego adaptera, który obsługuje podobny interfejs API dla różnych baz danych. Osobiście uważam, że to okropny interfejs API, ale jest szeroko rozumiany i dobrze udokumentowany.

libpq komunikuje się bardziej bezpośrednio z PostgreSQL. Dzięki temu można uzyskać lepszą wydajność, ale prawdopodobnie nie na tyle, aby miało to jakiekolwiek znaczenie dla większości aplikacji, które spędzają czas na wykonywaniu zapytań, opóźnieniu sieci itp., a nie w bibliotece klienta.

Nowsze wersje psqlODBC są zbudowane na libpq i służą jako opakowanie ODBC dla libpq.

Istnieje również libdbi, która oferuje mniej upiorny interfejs API niż ODBC.

Dla kompletności istnieje również SPI zaplecza serwera, który może być używany przez funkcje zdefiniowane przez użytkownika napisane w C i załadowane na serwer PostgreSQL. Nie jest to przydatne poza rozszerzeniami i funkcjami serwera.

Och, i jest ecpg. Nie używaj ekpg. Jest to bardzo stare narzędzie zintegrowane z językiem SQL, które istnieje głównie w celu łatwiejszego przenoszenia z niektórych innych silników baz danych. Nie używaj ekpg. Naprawdę.

Dla C++ jest interfejs QtSQL (co jest niezwykłe dla Qt, jest okropnie i boleśnie ograniczony, nie używaj go) i libpq++ (OK, ale w dużej mierze nieutrzymywany).

Osobiście piszę kod libpq bezpośrednio, ale to dlatego, że pracuję nad kodem, który zwykle trafia do samego PostgreSQL. Jeśli nie możesz sobie wyobrazić, że chciałbyś celować w cokolwiek poza PostgreSQL, możesz chcieć napisać kod libpq; w przeciwnym razie prawdopodobnie użyj ODBC z 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. Jak zezwolić tylko na jeden wiersz na tabelę?

  2. (Jeden stół) weź wiersze bez połączenia

  3. Django Different nie działa

  4. Aktualizacja wersji Docker PGMASTER PostgreSQL

  5. PowerShell łączy się z Postgres DB