SQL에서 큰 객체를 조작하기 위해 조정 된 서버 측 와이즈 토토표 35.1.
표 35.1. SQL 지향 대형 객체 함수
앞에서 설명한 각 클라이언트 측 기능에 해당하는 추가 서버 측 기능이 있습니다. 실제로, 대부분의 경우 클라이언트 측 기능은 단순히 동등한 서버 측 기능과의 인터페이스입니다. SQL 명령을 통해 호출하는 것이 편리한 것과 마찬가지로lo_creat
, lo_create
, lo_unlink
, lo_import
및lo_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_import
andlo_export
기능은 클라이언트 측 아날로그와 상당히 다르게 행동합니다. 이 두 기능은 데이터베이스 소유 사용자의 권한을 사용하여 서버 파일 시스템에서 파일을 읽고 씁니다. 따라서 기본적으로 사용은 슈퍼 사용자로 제한됩니다. 대조적으로, 클라이언트 측면 가져 오기 및 내보내기 기능은 클라이언트 프로그램의 권한을 사용하여 클라이언트의 파일 시스템에서 파일을 읽고 씁니다. 클라이언트 측 기능에는 문제의 큰 개체를 읽거나 쓸 수있는 권한을 제외하고는 데이터베이스 권한이 필요하지 않습니다.
가능합니다grant서버 측 사용lo_import
andlo_export
비 슈퍼 사용자에게는 기능이지만 보안 영향에 대한 신중한 고려가 필요합니다. 이러한 권한을 악의적 인 사용자는 쉽게 슈퍼업자가되도록 쉽게 파일을 구매할 수 있으며 (예 : 서버 구성 파일을 다시 작성하여) 데이터베이스 슈퍼 사용자 권한을 얻기 위해 귀찮게하지 않고 서버 파일 시스템의 나머지 부분을 공격 할 수 있습니다..그러므로 그러한 특권을 가진 역할에 대한 액세스는 슈퍼업자 역할에 대한 액세스만큼 신중하게 보호되어야합니다.그럼에도 불구하고 서버 측 사용하는 경우lo_import
또는lo_export
일부 일상적인 작업에 필요합니다. 우발적 인 오류로 인한 손상의 위험을 줄이는 데 도움이되므로 완전한 슈퍼 사용자 권한이있는 사람보다 그러한 권한을 가진 역할을 사용하는 것이 더 안전합니다..
의 와이즈 토토성lo_read
및lo_write
서버 측 호출을 통해도 사용할 수 있지만 서버 측 기능의 이름은 밑줄을 포함하지 않는다는 점에서 클라이언트 측 인터페이스와 다릅니다. 이 기능을라고 부릅니다.Loread
andLowrite
.
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면