2025 년 7 월 17 일 : | 윈 토토 : 윈 토토 18 베타
이 문서는 지원되지 않는 버전의 토토 핫을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 33.4. 서버 측 스포츠 토토버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

34.4. 서버 측 토토 핫

SQL에서 큰 객체를 조작하기 위해 조정 된 서버 측 토토 핫표 34.1.

표 34.1. SQL 지향 대형 객체 함수

토토 핫 반환 유형 설명 example 결과
lo_from_bytea (loid OID, String BYTEA) OID 큰 객체를 만들고 데이터를 저장하여 OID를 반환합니다. 통과하다0시스템에 Oid를 선택하도록하려면 lo_from_bytea (0, '\ xffffff00') 24528
lo_put (loid OID, 오프셋 bigint, str BYTEA) void 주어진 오프셋에서 데이터 작성. lo_put (24528, 1, '\ xaa')
lo_get (loid OID[, bigint, for int]) BYTEA 그 내용물 또는 그 하위 문자열 추출. lo_get (24528, 0, 3) \ xffaaff

앞에서 설명한 각 클라이언트 측 토토 핫에 해당하는 추가 서버 측 토토 핫이 있습니다. 실제로, 대부분의 경우 클라이언트 측 토토 핫은 단순히 동등한 서버 측 토토 핫과의 인터페이스입니다. SQL 명령을 통해 호출하는 것이 편리한 것과 마찬가지로lo_creat, lo_create, lo_unlink, lo_importlo_export. 다음은 사용의 예입니다.

테이블 이미지 생성 (
    이름 텍스트,
    래스터 OID
);

LO_CREAT (-1)를 선택하십시오.       - 새롭고 빈 큰 물체의 OID를 반환합니다

LO_CREATE (43213)를 선택하십시오.   - OID 43213으로 큰 객체를 만들려고 시도합니다

LO_UNLINK (173454)를 선택하십시오.  - OID 173454로 큰 물체를 삭제합니다

이미지 삽입 (이름, 래스터)
    값 ( '아름다운 이미지', lo_import ( '/etc/motd'));

이미지 (이름, 래스터)에 삽입 - 위와 동일하지만 사용할 OID를 지정하십시오.
    값 ( '아름다운 이미지', lo_import ( '/etc/motd', 68583));

이미지에서 lo_export (image.raster, '/tmp/motd')를 선택하십시오
    여기서 이름 = '아름다운 이미지';

서버 측lo_importandlo_export토토 핫은 클라이언트 측 아날로그와 상당히 다르게 행동합니다. 이 두 토토 핫은 데이터베이스 소유 사용자의 권한을 사용하여 서버 파일 시스템에서 파일을 읽고 씁니다. 따라서 기본적으로 사용은 슈퍼 사용자로 제한됩니다. 대조적으로, 클라이언트 측면 가져 오기 및 내보내기 토토 핫은 클라이언트 프로그램의 권한을 사용하여 클라이언트의 파일 시스템에서 파일을 읽고 씁니다. 클라이언트 측 토토 핫에는 문제의 큰 개체를 읽거나 쓸 수있는 권한을 제외하고는 데이터베이스 권한이 필요하지 않습니다.

주의

가능합니다grant서버 측 사용lo_importandlo_export비 슈퍼 사용자에 대한 토토 핫이지만 보안 영향에 대한 신중한 고려가 필요합니다. 이러한 권한을 악의적 인 사용자는 쉽게 슈퍼업자가되도록 쉽게 파일을 구매할 수 있으며 (예 : 서버 구성 파일을 다시 작성하여) 데이터베이스 슈퍼 사용자 권한을 얻기 위해 귀찮게하지 않고 서버 파일 시스템의 나머지 부분을 공격 할 수 있습니다..그러한 특권을 가진 역할에 대한 액세스는 슈퍼업자 역할에 대한 액세스만큼 신중하게 보호되어야합니다.그럼에도 불구하고 서버 측 사용하는 경우lo_import또는lo_export일부 일상적인 작업에 필요합니다. 우발적 인 오류로 인한 손상의 위험을 줄이는 데 도움이되므로 완전한 슈퍼 사용자 권한이있는 사람보다 그러한 권한을 가진 역할을 사용하는 것이 더 안전합니다..

의 토토 핫lo_readandlo_write서버 측 호출을 통해도 사용할 수 있지만 서버 측 토토 핫의 이름은 밑줄을 포함하지 않는다는 점에서 클라이언트 측 인터페이스와 다릅니다. 이 토토 핫을라고 부릅니다.LoreadandLowrite.