thefile_fdw
모듈은 외국 데이터 래퍼를 제공합니다file_fdw
, 서버 파일 시스템의 데이터 파일에 액세스하거나 서버에서 프로그램을 실행하고 출력을 읽는 데 사용할 수 있습니다. 데이터 파일 또는 프로그램 출력은를 읽을 수있는 형식이어야합니다.복사
; 보다COPY자세한 내용. 데이터 파일에 대한 액세스는 현재 읽기 전용입니다.
이 래퍼를 사용하여 생성 된 외국 테이블에는 다음 옵션이 있습니다.
filename
읽을 파일을 지정합니다. 상대 경로는 데이터 디렉토리와 관련이 있습니다. 어느 하나filename
또는프로그램
지정되어야하지만 둘 다를 지정하지 않아야합니다.
프로그램
실행될 명령을 지정합니다. 이 명령의 표준 출력은 마치 마치 읽습니다프로그램에서 복사
사용되었습니다. 어느 하나프로그램
또는filename
지정되어야하지만 둘 다를 지정하지 않아야합니다.
형식
과 같은 데이터 형식을 지정합니다copy
's형식
스포츠 토토.
헤더
데이터에 헤더 라인이 있는지 여부를 지정합니다.copy
's헤더
스포츠 토토.
Delimiter
데이터 구분 기자 문자를 지정합니다.copy
'sDelimiter
스포츠 토토.
QUOTE
데이터 견적 문자를 지정합니다.COPY
'sQUOTE
스포츠 토토.
탈출
와 같은 데이터 탈출 문자를 지정합니다copy
's탈출
스포츠 토토.
NULL
데이터 null 문자열을 지정합니다.COPY
'sNULL
스포츠 토토.
인코딩
데이터 인코딩을 지정합니다.COPY
's인코딩
스포츠 토토.
copy
와 같은 스포츠 토토이 허용헤더
해당 값없이 지정하려면 외국 테이블 스포츠 토토 구문에는 모든 경우에 값이 있어야합니다. 활성화하려면copy
스포츠 토토 스포츠 토토은 일반적으로 값없이 작성되므로 모든 스포츠 토토이 부울이므로 값을 전달할 수 있습니다.
이 래퍼를 사용하여 생성 된 외국 테이블의 열에 다음 옵션이 있습니다.
force_not_null
이것은 부울 스포츠 토토입니다. 사실이라면, 열의 값이 널 문자열과 일치하지 않음을 지정합니다 (즉, 테이블 레벨NULL
스포츠 토토). 이것은 열을 나열하는 것과 동일한 효과가 있습니다COPY
'sforce_not_null
스포츠 토토.
Force_null
이것은 부울 스포츠 토토입니다. 참이면 널 문자열과 일치하는 열의 값이로 반환됩니다.NULL
값이 인용 되더라도. 이 옵션이 없으면 NULL 문자열과 일치하는 인용되지 않은 값만로 반환됩니다.NULL
. 이것은 열을 나열하는 것과 동일한 효과가 있습니다COPY
'sForce_Null
스포츠 토토.
COPY
'sForce_quote
옵션은 현재 지원되지 않습니다file_fdw
.
이 옵션은 옵션이 아닌 외국 테이블 또는 그 열에 대해서만 지정할 수 있습니다file_fdw
외국 데이터 포장지, 또는 래퍼를 사용한 서버 또는 사용자 매핑 옵션에서.
테이블 레벨 스포츠 토토을 변경하면 수퍼 유저가되거나 기본 역할의 권한이 있어야합니다PG_READ_SERVER_FILES
(파일 이름 사용) 또는 기본 역할pg_execute_server_program
(프로그램을 사용하려면) 보안상의 이유로 : 특정 사용자만이 읽거나 실행되는 프로그램을 제어 할 수 있어야합니다. 원칙적으로 일반 사용자는 다른 옵션을 변경할 수 있지만 현재 지원되지는 않습니다.
지정할 때프로그램
옵션, 옵션 문자열은 쉘에 의해 실행됩니다. 신뢰할 수없는 소스에서 오는 명령에 인수를 전달 해야하는 경우 쉘에 특별한 의미가있는 문자를 벗기거나 탈출해야합니다. 보안상의 이유로, 고정 된 명령 문자열을 사용하거나 최소한 사용자 입력을 전달하지 않는 것이 가장 좋습니다.
사용을 사용하는 외국 테이블의 경우file_fdw
, 설명
실행할 파일의 이름을 표시하거나 실행할 프로그램을 표시합니다. 파일의 경우비용 끄기
지정되어 있으며 파일 크기 (바이트)도 표시됩니다.
예제 F.1. 스포츠 토토 CSV 로그에 대한 외국 테이블 만들기
명백한 용도 중 하나file_fdw
스포츠 토토 활동 로그를 쿼리 테이블로 사용할 수 있도록하는 것입니다. 이렇게하려면 먼저CSV 파일 로그인,여기에서 전화 할 것15525_15536
. 첫째, installfile_fdw
확장자 :
Extension Create File_FDW;
그런 다음 외국 서버 생성 :
서버 생성 PGLOG 이외의 데이터 래퍼 파일 _fdw;
이제 외래 데이터 테이블을 만들 준비가되었습니다. 사용 사용외국 테이블 만들기
명령에 따라 테이블의 열, CSV 파일 이름 및 그 형식을 정의해야합니다 :
외국 테이블 생성 pglog ( 시간대가있는 log_time timestamp (3), user_name 텍스트, database_name 텍스트, process_id 정수, Connection_from 텍스트, session_id 텍스트, session_line_num bigint, Command_tag 텍스트, 시간대가있는 session_start_time 타임 스탬프, virtual_transaction_id 텍스트, transaction_id bigint, error_severity 텍스트, sql_state_code 텍스트, 메시지 텍스트, 세부 텍스트, 힌트 텍스트, 내부_Query 텍스트, internal_query_pos 정수, 컨텍스트 텍스트, 쿼리 텍스트, query_pos 정수, 위치 텍스트, application_name 텍스트, backend_type 텍스트 ) 서버 pglog 옵션 (파일 이름 'log/pglog.csv', 형식 'CSV');
그게 다야 - 이제 로그를 직접 쿼리 할 수 있습니다. 물론 생산에서 로그 회전을 처리 할 수있는 방법을 정의해야합니다.
문서에 올바른 것이 없다면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면