F.20. ㅋㅋㅋ

lo모듈은 대형 개체(LO 또는 BLOB라고도 함) 관리를 지원합니다. 여기에는 데이터 유형이 포함됩니다.그리고 토토 사이트lo_manage.

이 모듈은 고려됩니다.신뢰할 수 있는, 즉 다음과 같은 슈퍼유저가 아닌 사용자가 설치할 수 있습니다.만들기현재 데이터베이스에 대한 권한.

F.20.1. 근거

JDBC 드라이버의 문제점 중 하나(ODBC 드라이버에도 영향을 미침)는 사양에서 BLOB(Binary Large OBject)에 대한 참조가 테이블 내에 저장되어 있다고 가정하고 해당 항목이 변경되면 연결된 BLOB가 데이터베이스에서 삭제된다는 것입니다.

다음과 같이토토 사이트대, 이것은 발생하지 않습니다. 대형 객체는 그 자체로 객체로 취급됩니다. 테이블 항목은 OID로 대형 개체를 참조할 수 있지만 동일한 대형 개체 OID를 참조하는 테이블 항목이 여러 개 있을 수 있으므로 해당 항목 하나를 변경하거나 제거한다고 해서 시스템이 대형 개체를 삭제하지는 않습니다.

이제는 괜찮습니다토토 사이트특정 애플리케이션이지만 JDBC 또는 ODBC를 사용하는 표준 코드는 객체를 삭제하지 않으므로 고아 객체(아무 것도 참조하지 않고 단순히 디스크 공간만 차지하는 객체)가 됩니다.

lo모듈을 사용하면 LO 참조 열이 포함된 테이블에 트리거를 연결하여 이 문제를 해결할 수 있습니다. 트리거는 본질적으로 다음을 수행합니다.lo_unlink대형 개체를 참조하는 값을 삭제하거나 수정할 때마다. 이 토토 사이트를 사용하면 토토 사이트 제어 열에서 참조되는 대형 개체에 대한 데이터베이스 참조가 하나만 있다고 가정합니다!

모듈은 데이터 유형도 제공합니다.lo는 실제로는 단지의 도메인입니다.oid유형. 이는 대형 개체 참조를 보유하는 데이터베이스 열을 다른 개체의 OID인 열과 구별하는 데 유용합니다. 를 사용할 필요는 없습니다.lo토토 사이트를 사용하려면 입력하세요. 하지만 데이터베이스의 어떤 열이 토토 사이트로 관리하고 있는 대형 개체를 나타내는지 추적하는 데 사용하는 것이 편리할 수 있습니다. 또한 ODBC 드라이버를 사용하지 않으면 혼란을 겪는다는 소문도 있습니다.loBLOB 열의 경우.

F.20.2. 사용 방법

다음은 간단한 사용법 예입니다:

CREATE TABLE 이미지(제목 텍스트, 래스터 lo);

이미지를 업데이트하거나 삭제하기 전에 TRIGGER t_raster 생성
    각 행 실행 함수 lo_manage(raster);

대형 개체에 대한 고유한 참조를 포함할 각 열에 대해 다음을 생성하십시오.업데이트 또는 삭제 전트리거를 실행하고 열 이름을 유일한 트리거 인수로 제공합니다. 또한 다음을 사용하여 열 업데이트 시에만 트리거가 실행되도록 제한할 수도 있습니다.업데이트 전 컬럼_이름. 여러 개가 필요한 경우lo같은 테이블에 있는 열의 경우 각 열에 대해 별도의 토토 사이트를 생성하고 동일한 테이블에 있는 각 토토 사이트에 다른 이름을 지정하는 것을 기억하세요.

F.20.3. 제한사항

  • 테이블을 삭제하면 트리거가 실행되지 않으므로 테이블에 포함된 모든 개체가 여전히 고아가 됩니다. 다음을 수행하면 이를 방지할 수 있습니다.드롭 테이블다음에서 삭제테이블.

    잘라내기동일한 위험이 있습니다.

    이미 고아가 된 대형 개체가 있거나 있다고 의심되는 경우 다음을 참조하세요.vacuumlo정리하는 데 도움이 되는 모듈입니다. 달리는 것이 좋습니다.vacuumlo가끔 백스톱으로lo_manage토토 사이트.

  • 일부 프런트엔드는 자체 테이블을 생성할 수 있으며 관련 트리거를 생성하지 않습니다. 또한 사용자가 트리거를 만드는 방법을 기억하지 못할 수도 있습니다.

F.20.4. 작성자

피터 마운트

수정사항 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.