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

Oracle DBMS_LOB.WRITEAPPEND към Преобразуване на Postgres

Зависи от размера на вашия голям обект. Когато вашите големи обекти са по-малко от 500 MB, тогава не е необходимо да използвате LOB (PostgreSQL използва термина LO) и можете да използвате text или varchar type - работата е подобна на тази с varchar . След този размер трябва да използвате LO API.

CREATE OR REPLACE FUNCTION writeappend(oid, text)
RETURNS void AS $$
DECLARE
  content bytea;
  fd int;
BEGIN
  content := convert_to($2, getdatabaseencoding());
  fd := lo_open($1, 131072);
  PERFORM lo_lseek(fd, 0, 2);
  IF length(content) <> lowrite(fd, content) THEN
    RAISE EXCEPTION 'not all content was written';
  END IF;
  PERFORM lo_close(fd);
END;
$$ LANGUAGE plpgsql;

postgres=> select lo_creat(-1);
┌──────────┐
│ lo_creat │
╞══════════╡
│    20653 │
└──────────┘
(1 row)

postgres=> select writeappend(20653, e'Hello\r\n');
┌─────────────┐
│ writeappend │
╞═════════════╡
│             │
└─────────────┘
(1 row)

postgres=> select writeappend(20653, e'Hello\r\n');
...

postgres=> select convert_from(lo_get(20653),getdatabaseencoding());
┌──────────────┐
│ convert_from │
╞══════════════╡
│ Hello\r     ↵│
│ Hello\r     ↵│
│              │
└──────────────┘
(1 row)

Така че можете да използвате LO API, но трябва да се предпочитат основните типове. Ограниченията за тези типове обикновено са достатъчно добри - и работата с основните типове е много по-удобна - с някои възможности като пълен текст.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLAlchemy набор членство за много големи набори

  2. Как да създадете потребител в PostgreSQL

  3. Postgres:предоставяне на достъп до роля/потребител за бъдещи таблици, създадени от различна роля/потребител

  4. Персонализирана агрегатна функция

  5. дублираната стойност на ключ нарушава уникалното ограничение - postgres грешка при опит за създаване на sql таблица от dask dataframe