PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Вмъкнете двоичен голям обект (BLOB) в PostgreSQL, като използвате libpq от отдалечена машина

Има 2 вида петна в PostgreSQL — BYTEA и Large Objects . Бих препоръчал да не използвате големи обекти, тъй като не можете да ги присъедините към таблици.

За BYTEA бихте използвали нещо подобно в 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. PostgreSQL:Предупреждение:Кодовата страница на конзолата (437) се различава от кодовата страница на Windows (1252)

  2. Разделяне на дати въз основа на фискалната година

  3. Как да деактивирате подготвения израз в heroku с база данни на postgres

  4. Go sql - подготвен обхват на изявление

  5. Запитването на Postgresql с помощта на Hibernate (JPA) не намира таблица