이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : F.15. file_fdw - 서버 파일 시스템의 토토 커뮤니티 파일에 액세스버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

F.15. 무지개 토토_fdw

file_fdw모듈은 외부 데이터 래퍼를 제공합니다file_fdw은 서버의 파일 시스템에 있는 데이터 파일에 액세스하거나 서버에서 프로그램을 실행하고 그 출력을 읽는 데 사용할 수 있습니다. 데이터 파일 또는 프로그램 출력은 다음에서 읽을 수 있는 형식이어야 합니다.다음에서 복사; 보다복사9303_9363

이 래퍼를 사용하여 생성된 외부 테이블에는 다음 옵션이 있을 수 있습니다:

무지개 토토 이름

읽을 무지개 토토을 지정합니다. 상대 경로는 데이터 디렉터리에 상대적입니다. 어느 하나무지개 토토 이름또는프로그램반드시 지정해야 하지만 둘 다 지정할 수는 없습니다.

프로그램

실행할 명령을 지정합니다. 이 명령의 표준 출력은 다음과 같이 읽혀집니다.프로그램에서 복사사용되었습니다. 어느 하나프로그램또는무지개 토토 이름반드시 지정해야 하지만 둘 다 지정할 수는 없습니다.

형식

다음과 같은 데이터 형식을 지정합니다.복사's형식옵션.

헤더

데이터에 다음과 같은 헤더 라인이 있는지 여부를 지정합니다.복사's헤더옵션.

구분자

다음과 동일하게 데이터 구분 문자를 지정합니다.복사DELIMITER옵션.

인용문

다음과 같은 데이터 인용 문자를 지정합니다.복사인용문옵션.

탈출

다음과 같은 데이터 이스케이프 문자를 지정합니다.복사's탈출옵션.

다음과 같은 데이터 null 문자열을 지정합니다.복사'sNULL옵션.

인코딩

데이터 인코딩을 지정합니다. 다음과 같습니다.복사인코딩옵션.

그 동안 주의하세요복사다음과 같은 옵션을 허용합니다헤더해당 값 없이 지정하려면 외부 테이블 옵션 구문에 모든 경우에 값이 있어야 합니다. 활성화하려면복사옵션은 일반적으로 값 없이 작성되며 이러한 옵션은 모두 부울이므로 TRUE 값을 전달할 수 있습니다.

이 래퍼를 사용하여 생성된 외부 테이블의 열에는 다음 옵션이 있을 수 있습니다:

force_not_null

이것은 불리언 옵션입니다. true인 경우 열의 값이 Null 문자열(즉, 테이블 수준과 일치하지 않아야 함을 지정합니다.옵션). 이는 열을 나열하는 것과 동일한 효과를 갖습니다.복사'sFORCE_NOT_NULL옵션.

force_null

이것은 불리언 옵션입니다. true인 경우 null 문자열과 일치하는 열의 값이 다음과 같이 반환되도록 지정합니다.NULL값이 인용된 경우에도 마찬가지입니다. 이 옵션이 없으면 null 문자열과 일치하는 따옴표가 없는 값만 다음과 같이 반환됩니다.NULL. 이는 열을 나열하는 것과 동일한 효과를 갖습니다.복사'sFORCE_NULL옵션.

복사'sOIDS그리고FORCE_QUOTE옵션은 현재 지원되지 않습니다.file_fdw.

이 옵션은 외부 테이블이나 해당 열에 대해서만 지정할 수 있으며 다음 옵션에서는 지정할 수 없습니다.file_fdw외부 데이터 래퍼 또는 래퍼를 사용하는 서버 또는 사용자 매핑의 옵션에도 없습니다.

테이블 수준 옵션을 변경하려면 보안상의 이유로 수퍼유저 권한이 필요합니다. 수퍼유저만이 읽을 파일이나 실행할 프로그램을 제어할 수 있어야 합니다. 원칙적으로 슈퍼유저가 아닌 사용자는 다른 옵션을 변경할 수 있지만 현재는 지원되지 않습니다.

지정할 때프로그램옵션, 옵션 문자열은 쉘에 의해 실행된다는 점을 명심하십시오. 신뢰할 수 없는 소스에서 오는 명령에 인수를 전달해야 하는 경우 셸에 특별한 의미가 있을 수 있는 문자를 제거하거나 이스케이프하도록 주의해야 합니다. 보안상의 이유로 고정된 명령 문자열을 사용하거나 최소한 사용자 입력을 전달하지 않는 것이 가장 좋습니다.

다음을 사용하는 외부 테이블의 경우file_fdw, 설명읽을 파일이나 실행할 프로그램의 이름을 표시합니다. 파일의 경우, 다음을 제외함비용 할인이 지정되면 무지개 토토 크기(바이트)도 표시됩니다.

예 F.1. 무지개 토토 CSV 로그용 외부 테이블 생성

명확한 용도 중 하나file_fdw은 PostgreSQL 활동 로그를 쿼리용 테이블로 사용할 수 있도록 하는 것입니다. 이렇게 하려면 먼저 다음과 같아야 합니다.CSV 무지개 토토에 로깅 중,여기에서는 이를 호출하겠습니다pglog.csv. 먼저 설치하세요.file_fdw확장으로:

확장 무지개 토토 생성_fdw;

그런 다음 외부 서버를 생성하십시오:

서버 pglog 외부 데이터 래퍼 무지개 토토 생성_fdw;

이제 외부 데이터 테이블을 생성할 준비가 되었습니다. 를 사용하여외부 테이블 생성명령을 실행하려면 테이블의 열, CSV 무지개 토토 이름 및 형식을 정의해야 합니다.

외부 테이블 생성 pglog(
  시간대가 있는 log_time 타임스탬프(3),
  user_name 텍스트,
  데이터베이스_이름 텍스트,
  process_id 정수,
  연결_텍스트에서,
  session_id 텍스트,
  session_line_num bigint,
  command_tag ​​텍스트,
  session_start_time 시간대가 포함된 타임스탬프,
  virtual_transaction_id 텍스트,
  transaction_id bigint,
  오류_심각도 텍스트,
  sql_state_code 텍스트,
  메시지 텍스트,
  세부 텍스트,
  힌트 텍스트,
  내부 쿼리 텍스트,
  Internal_query_pos 정수,
  컨텍스트 텍스트,
  쿼리 텍스트,
  query_pos 정수,
  위치 텍스트,
  애플리케이션_이름 텍스트
) 서버 pglog
OPTIONS(무지개 토토 이름 '/home/josh/data/log/pglog.csv', 형식 'csv' );

그렇습니다. 이제 로그를 직접 쿼리할 수 있습니다. 물론 프로덕션에서는 로그 회전을 처리하는 방법을 정의해야 합니다.