젠 토토 : 문서 : 9.6 : 젠 토토 | |||
---|---|---|---|
토토 결과 : 문서 : 9.6 : EarthDistance | PostgreSQL : 문서 : 9.6 : 추가 제공 토토 사이트 추천 | 부록 F. 추가 공급 모듈 | 토토 캔 : 문서 : 9.6 : fuzzystrmatch |
thefile_fdw모듈은 외국 데이터 래퍼를 제공합니다file_fdw
, 서버 파일 시스템의 데이터 파일에 액세스하는 데 사용할 수 있습니다. 데이터 파일은를 읽을 수있는 형식이어야합니다.복사; 보다PostgreSQL : 문서 : 9.6 : 메이저 토토 사이트자세한 내용. 이러한 데이터 파일에 대한 액세스는 현재 읽기 전용입니다.
이 래퍼를 사용하여 생성 된 외국 테이블에는 다음 옵션이 있습니다.
읽을 파일을 지정합니다. 필수의. 상대 경로는 데이터 디렉토리와 관련이 있습니다.
파일의 형식을 지정합니다.COPY's형식옵션.
파일에 헤더 라인이 있는지 여부를 지정합니다.COPY's헤더옵션.
파일의 구분 문자를 지정합니다.COPY'sDelimiter옵션.
파일의 인용 문자를 지정합니다.COPY'sQUOTE옵션.
파일의 탈출 문자를 지정합니다.copy's탈출옵션.
파일의 null 문자열을 지정합니다.copy'snull옵션.
파일의 인코딩을 지정합니다.copy's인코딩옵션.
copy해당 값없이 OID 및 헤더와 같은 옵션을 지정할 수 있으므로, 외국 데이터 래퍼 구문에는 모든 경우에 값이 있어야합니다. 활성화하려면COPY일반적으로 값없이 제공되는 옵션은 대신 값을 전달할 수 있습니다.
이 래퍼를 사용하여 생성 된 외국 테이블의 열에 다음 옵션이 있습니다.
이것은 부울 옵션입니다. 사실이라면 열의 값이 널 문자열과 일치하지 않도록 지정합니다 (즉, 파일 수준null옵션). 이것은 열을 나열하는 것과 동일한 효과가 있습니다copy'sforce_not_null옵션.
이것은 부울 옵션입니다. 참이면 널 문자열과 일치하는 열의 값이로 반환됩니다.null값이 인용 되더라도. 이 옵션이 없으면 NULL 문자열과 일치하는 인용되지 않은 값만로 반환됩니다.null. 이것은 열을 나열하는 것과 동일한 효과가 있습니다COPY'sForce_null옵션.
copy'sOIDSandForce_quote옵션은 현재 지원되지 않습니다file_fdw.
이 옵션은 옵션이 아닌 외국 테이블 또는 그 열에 대해서만 지정할 수 있습니다file_fdw외국 데이터 포장지 또는 래퍼를 사용한 서버 또는 사용자 매핑 옵션에서.
테이블 레벨 옵션을 변경하려면 보안상의 이유로 슈퍼 사용자 권한이 필요합니다. 슈퍼 사용자 만 읽을 수있는 파일 만 결정할 수 있어야합니다. 원칙적으로 비 uperusers는 다른 옵션을 변경할 수 있지만 현재는 지원되지 않습니다.
사용을 사용하는 외국 테이블의 경우file_fdw, 설명읽을 파일의 이름을 표시합니다. 하지 않는 한비용 끄기지정되어 있으며 파일 크기 (바이트)도 표시됩니다.
예제 F-1. 스포츠 토토 사이트 CSV 로그에 대한 외국 테이블 만들기
명백한 용도 중 하나file_fdw스포츠 토토 사이트 활동 로그를 쿼리 테이블로 사용할 수 있도록하는 것입니다. 이렇게하려면 먼저CSV 파일 로그인,여기에서 우리가 전화 할 것pglog.csv. 첫째, 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 텍스트 ) 서버 pglog 옵션 (filename '/home/josh/9.1/data/pg_log/pglog.csv', 형식 'CSV');
그게 다야 - 이제 로그를 직접 쿼리 할 수 있습니다. 물론 생산에서 로그 회전을 처리 할 수있는 방법을 정의해야합니다.