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

Masukkan Binary Large Object (BLOB) di PostgreSQL menggunakan libpq dari mesin jarak jauh

Ada 2 jenis gumpalan di PostgreSQL — BYTEA dan Large Objects . Saya sarankan untuk tidak menggunakan objek besar karena Anda tidak dapat menggabungkannya ke tabel.

Untuk BYTEA Anda akan menggunakan sesuatu seperti ini di libpq:

PGresult* put_data_to_tablename(
  PGconn* conn,
  int32_t id,
  int data_size,
  const char* const data
) {
  PGresult* result;
  const uint32_t id_big_endian = htonl((uint32_t)id);
  const char* const paramValues[] = { &id_big_endian, data };
  const int nParams = sizeof(paramValues) / sizeof(paramValues[0]);
  const int paramLenghts[] = { sizeof(id_big_endian), data_size };
  const int paramFormats[] = { 1, 1 }; /* binary */
  const int resultFormat = 0; /* text */

  result = PQexecParams(
    conn,
    "insert into tablename (id, data) values ($1::integer, $2::bytea)",
    nParams,
    NULL, /* Types of parameters, unused as casts will define types */
    paramValues,
    paramLenghts,
    paramFormats,
    resultFormat
  );
  return result;
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Penjadwal Acara di PostgreSQL?

  2. Hasil ekspor PostgreSQL sebagai CSV dari server jarak jauh

  3. Membuat Cold Standby untuk PostgreSQL Menggunakan Amazon AWS

  4. Cara mengelompokkan secara kondisional ke dalam kolom tanpa menggunakan FULL OUTER JOIN

  5. Kesalahan aplikasi Rails Heroku