젠 토토테이블_이름 [ ( 열_이름[, ...] ) ]
에서 '파일 이름' | 프로그램 '명령' | 표준
[ [ 와 함께 ] (옵션[, ...] ) ]
젠 토토테이블_이름 [ ( 열_이름 [, ...] ) ] | ( 질의)
에게 '파일 이름' | 프로그램 '명령' | 표준 출력
[ [ 와 함께 ] (옵션 [, ...] ) ]
어디에서옵션다음 중 하나일 수 있습니다.형식format_nameOIDS [부울]
정지 [부울]
구분 기호 'delimiter_character'
NULL 'null_string'
헤더 [부울]
인용하다 'quote_character'
탈출하다 'escape_character'
FORCE_QUOTE (컬럼_이름[, ...] ) | *
FORCE_NOT_NULL(컬럼_이름[, ...] )
인코딩 중 'encoding_name'젠 토토다음 사이에 데이터 이동포스트그레SQL테이블 및 표준 파일 시스템 파일.젠 토토 대상다음의 내용을 젠 토토합니다. 테이블에파일, 동안다음에서 젠 토토데이터 젠 토토에서파일을 테이블에 추가(추가 이미 테이블에 있는 데이터에 데이터를 추가합니다.젠 토토 에게또한 a의 결과를 젠 토토할 수 있습니다.선택질의.
열 목록이 지정되면,젠 토토지정된 열의 데이터만 젠 토토합니다. 파일. 테이블에 없는 컬럼이 있는 경우 열 목록,다음에서 젠 토토다음을 삽입합니다 해당 열의 기본값입니다.
젠 토토파일 이름이 있는 명령은포스트그레SQL직접 읽을 서버 파일에서 또는 파일에 씁니다. 파일은 다음에서 액세스할 수 있어야 합니다.젠 토토user (사용자 ID는 서버는 다음으로 실행됩니다.) 이름은 관점에서 지정해야 합니다. 서버의. 언제프로그램지정되었습니다. 서버는 주어진 명령을 실행하고 표준에서 읽습니다. 프로그램의 출력 또는 표준 입력에 씁니다. 프로그램. 명령은 사용자의 관점에서 지정되어야 합니다. 서버이며, 다음에 의해 실행 가능합니다.포스트그레SQL사용자. 언제STDIN또는STDOUT이다 지정된 경우 데이터는 두 장치 간의 연결을 통해 전송됩니다. 클라이언트와 서버.
기존 테이블의 이름(선택적으로 스키마 한정).
젠 토토할 열의 선택적 목록입니다. 열 목록이 없는 경우 지정하면 테이블의 모든 열이 젠 토토됩니다.
A PostgreSQL : 문서 : 9.3 : 롤 토토또는값결과가 다음과 같은 명령 젠 토토되었습니다. 쿼리 주위에는 괄호가 필요합니다.
입력 또는 출력 파일의 경로 이름. 입력 파일 이름 절대 경로 또는 상대 경로일 수 있지만 출력 파일 이름은 반드시 절대 경로가 되어야 합니다. Windows 사용자는 다음을 사용해야 할 수도 있습니다.E''문자열을 사용하고 백슬래시를 두 배로 추가합니다. 경로 이름.
실행할 명령입니다. 안에다음에서 젠 토토, 입력은 명령의 표준 출력에서 읽혀지며,젠 토토 대상, 출력은 다음 위치에 기록됩니다. 명령의 표준 입력입니다.
명령은 쉘에 의해 호출된다는 점에 유의하십시오. 따라서 필요한 경우 신뢰할 수 없는 명령에서 오는 셸 명령에 인수를 전달합니다. 소스에서 특수한 내용을 제거하거나 이스케이프 처리하지 않도록 주의해야 합니다. 쉘에 특별한 의미를 가질 수 있는 문자입니다. 을 위한 보안상의 이유로 고정된 명령 문자열을 사용하는 것이 가장 좋습니다. 최소한 사용자 입력을 전달하지 마세요.
입력이 클라이언트 응용 프로그램에서 나오도록 지정합니다.
출력이 클라이언트 애플리케이션으로 이동하도록 지정합니다.
선택한 옵션을 켜야 할지 또는 켜야 할지 지정합니다. 끄다. 쓸 수 있습니다참, 켜짐또는1활성화하려면 옵션 및거짓, 꺼짐또는0비활성화합니다. 그만큼부울값은 다음과 같을 수도 있습니다. 생략된 경우참이다 꾸민.
읽거나 쓸 데이터 형식을 선택합니다:텍스트, csv(쉼표로 구분됨) 값) 또는바이너리. 기본값은텍스트.
각 행의 OID 젠 토토를 지정합니다. (다음과 같은 경우 오류가 발생합니다.OIDS다음을 수행하는 테이블에 대해 지정되었습니다. OID가 없거나 젠 토토하는 경우질의.)
이미 고정된 행이 있는 데이터 젠 토토를 요청합니다. 다음을 실행한 후입니다.진공 동결명령. 이는 초기 데이터에 대한 성능 옵션으로 사용됩니다. 로딩. 로드되는 테이블이 다음과 같은 경우에만 행이 고정됩니다. 현재 하위 트랜잭션에서 생성되거나 잘린 경우 열려 있는 커서가 없으며 여기에 보관된 이전 스냅샷도 없습니다. 거래.
다른 모든 세션은 즉시 성공적으로 로드된 데이터입니다. 이는 정상적인 규칙을 위반합니다. MVCC 가시성 및 지정 사용자 규칙에 대해 알고 있어야 합니다. 이로 인해 발생할 수 있는 잠재적인 문제.
각 행 내에서 열을 구분하는 문자를 지정합니다. (라인) 파일입니다. 기본값은 텍스트 형식의 탭 문자입니다. 쉼표CSV형식. 이는 다음과 같아야 합니다. 단일 1바이트 문자. 이 옵션은 다음을 사용할 때 허용되지 않습니다.바이너리형식.
널 값을 나타내는 문자열을 지정합니다. 기본값 이다\N(백슬래시-N)을 텍스트 형식으로, 따옴표가 없는 빈 문자열CSV형식. 너 다음과 같은 경우에는 텍스트 형식에서도 빈 문자열을 선호할 수 있습니다. 빈 문자열과 null을 구별하고 싶지 않습니다. 이 옵션 사용할 때는 허용되지 않습니다.바이너리형식.
참고:사용 시다음에서 젠 토토, 임의 이 문자열과 일치하는 데이터 항목은 null 값으로 저장됩니다. 따라서 사용한 것과 동일한 문자열을 사용해야 합니다. 와 함께젠 토토 대상.
파일에 다음 이름의 헤더 라인이 포함되어 있음을 지정합니다. 파일의 각 열. 출력 시 첫 번째 줄에는 다음이 포함됩니다. 테이블의 열 이름과 입력 시 첫 번째 줄은 다음과 같습니다. 무시되었습니다. 이 옵션은 다음을 사용할 때만 허용됩니다.CSV형식.
데이터 값이 다음과 같을 때 사용할 인용 문자를 지정합니다. 인용. 기본값은 큰따옴표입니다. 이는 단일 1바이트여야 합니다. 성격. 이 옵션은 다음을 사용할 때만 허용됩니다.CSV형식.
데이터 앞에 표시되어야 하는 문자를 지정합니다 와 일치하는 문자인용문값. 기본값은와 동일합니다.인용문값 (인용 문자가 데이터). 이는 단일 1바이트 문자여야 합니다. 이 옵션은 사용할 때만 허용됨CSV형식.
인용이 모든 비-에 사용되도록 강제합니다.NULL지정된 각 열의 값.NULL출력은 인용되지 않습니다. 만약에*지정됨, 비-NULL값은 모든 열에서 인용됩니다. 이 옵션은 다음에만 허용됩니다. 안에젠 토토 대상, 그리고 사용하는 경우에만CSV형식.
지정된 열의 값을 null과 일치시키지 않습니다. 끈. null 문자열이 비어 있는 기본 경우에는 다음과 같습니다. 이는 빈 값이 오히려 길이가 0인 문자열로 읽혀진다는 것을 의미합니다. 인용되지 않은 경우에도 null보다. 이 옵션은 허용됩니다 오직에서만젠 토토본:, 그리고 사용하는 경우에만CSV형식.
파일이 다음 형식으로 인코딩되도록 지정합니다.encoding_name. 이 옵션을 생략하면 현재 클라이언트 인코딩이 사용됩니다. 자세한 내용은 아래 참고 사항을 참조하세요. 세부.
젠 토토일반에서만 사용할 수 있습니다. 뷰가 아닌 테이블. 그러나 다음과 같이 쓸 수 있습니다.젠 토토(SELECT * FROM뷰 이름) 에 ....
젠 토토특정 테이블만 다룹니다. 명명; 하위 테이블 간에 데이터를 젠 토토하지 않습니다. 따라서 예젠 토토테이블받는 사람다음과 동일한 데이터를 표시합니다SELECT * FROM ONLY테이블. 하지만젠 토토 (선택 *에서테이블) 에 ...상속의 모든 데이터를 덤프하는 데 사용할 수 있습니다. 계층.
당신은 값이 다음과 같은 테이블에 대한 선택 권한을 가지고 있어야 합니다 읽다젠 토토 대상, 그리고 다음에 대한 권한을 삽입합니다. 값이 삽입되는 테이블다음에서 젠 토토. 칼럼만 있으면 충분하다 명령에 나열된 열에 대한 권한입니다.
a에 이름이 지정된 파일젠 토토명령을 읽었습니다. 또는 클라이언트 응용 프로그램이 아닌 서버에서 직접 작성합니다. 따라서 데이터베이스에 상주하거나 데이터베이스에 액세스할 수 있어야 합니다. 클라이언트가 아닌 서버 시스템입니다. 그들은 접근 가능해야 하며 읽기 또는 쓰기 가능젠 토토user (서버가 실행하는 사용자 ID as) 클라이언트가 아닙니다. 마찬가지로, 다음과 같이 지정된 명령은프로그램에 의해 직접 실행됩니다. 클라이언트 애플리케이션이 아닌 서버는 다음을 통해 실행 가능해야 합니다.젠 토토사용자.젠 토토파일이나 명령 이름 지정은 다음에만 허용됩니다. 데이터베이스 슈퍼유저(모든 파일을 읽거나 쓸 수 있으므로) 서버에 액세스 권한이 있는지 확인하세요.
혼란하지 마십시오.젠 토토와 함께psql지시\젠 토토. \젠 토토호출젠 토토 STDIN에서또는STDOUT에 젠 토토그리고 그런 다음에 액세스할 수 있는 파일에 데이터를 가져오거나 저장합니다.psql클라이언트. 따라서 파일 접근성 및 액세스 권한은 클라이언트에 따라 다릅니다. 서버는 언제\젠 토토사용됩니다.
다음에서 사용된 파일 이름을 권장합니다.젠 토토항상 절대 경로로 지정됩니다. 이것 다음의 경우 서버에 의해 시행됩니다.젠 토토 에게하지만다음에서 젠 토토당신은 상대 경로로 지정된 파일에서 읽는 옵션입니다. 그만큼 경로는 작업 디렉터리를 기준으로 해석됩니다. 서버 프로세스(일반적으로 클러스터의 데이터 디렉터리)가 아닌 클라이언트의 작업 디렉토리.
명령 실행 중프로그램아마도 운영 체제의 액세스 제어 메커니즘에 의해 제한됩니다. SELinux와 같은.
다음에서 젠 토토모든 트리거를 호출하고 대상 테이블의 제약 조건을 확인하세요. 그러나 그렇지 않습니다. 규칙을 호출합니다.
젠 토토입력 및 출력은 다음에 영향을 받습니다.날짜 스타일. 다른 사람에게 이식성을 보장하기 위해젠 토토설치 기본값이 아닌 것을 사용할 수 있음날짜 스타일설정,날짜 스타일다음으로 설정되어야 합니다ISO사용하기 전젠 토토 대상. 다음을 사용하여 데이터를 덤프하지 않는 것도 좋은 생각입니다.간격 스타일다음으로 설정됨sql_standard, 음의 간격 값이 있을 수 있기 때문입니다. 다른 설정을 가진 서버에 의해 잘못 해석될 수 있습니다.간격 스타일.
입력 데이터는 다음에 따라 해석됩니다.인코딩옵션 또는 현재 클라이언트 인코딩 및 출력 데이터는 다음으로 인코딩됩니다.인코딩또는 현재 클라이언트 인코딩은 데이터가 클라이언트가 직접 파일을 읽거나 파일에 씁니다. 섬기는 사람.
젠 토토처음에 작업을 중지합니다. 오류. 다음과 같은 경우에는 문제가 발생하지 않아야 합니다.젠 토토 대상, 그러나 대상 테이블은 이미 a에서 이전 행을 받았습니다.다음에서 젠 토토. 이 행은 표시되거나 액세스할 수 없지만 여전히 차지합니다. 디스크 공간. 이는 상당한 양의 낭비가 될 수 있습니다. 장애가 발생한 경우 디스크 공간을 대용량 젠 토토본으로 작업. 호출하고 싶을 수도 있습니다.진공낭비된 공간을 복구합니다.
때텍스트형식을 사용하면 데이터가 읽거나 쓰는 것은 테이블 행당 한 줄로 구성된 텍스트 파일입니다. 열 행에서 구분 기호 문자로 구분됩니다. 칼럼 값 자체가 출력 함수에 의해 생성된 문자열이거나, 각 속성의 데이터 유형에 대한 입력 함수에 허용됩니다. 지정된 널 문자열은 다음 열 대신 사용됩니다. 널.젠 토토본:있는 경우 오류가 발생합니다. 입력 파일의 줄에 현재보다 더 많거나 적은 열이 포함되어 있습니다. 예상되는. 만약에OIDS이 지정되면 OID는 다음과 같습니다. 사용자 데이터 앞에 첫 번째 열로 읽거나 기록됩니다. 열.
데이터의 끝은 다음을 포함하는 단일 라인으로 표시될 수 있습니다. 백슬래시 마침표(\.). 데이터의 끝 파일에서 읽을 때는 마커가 필요하지 않습니다. 파일은 완벽하게 잘 작동합니다. 데이터를 젠 토토할 때만 필요합니다. 또는 3.0 이전 클라이언트 프로토콜을 사용하는 클라이언트 애플리케이션에서.
백슬래시 문자(\)는 다음에서 사용할 수 있습니다. 그만큼젠 토토데이터를 인용하는 데이터 문자 그렇지 않으면 행 또는 열 구분 기호로 간주될 수 있습니다. ~ 안에 특히 다음 문자반드시다음의 경우 백슬래시가 앞에 옵니다. 백슬래시 자체, 개행 문자 등 열 값의 일부로 나타납니다. 캐리지 리턴 및 현재 구분 기호 문자입니다.
지정된 null 문자열은 다음에 의해 전송되었습니다.젠 토토 에게백슬래시를 추가하지 않고; 거꾸로,다음에서 젠 토토입력을 null 문자열과 일치시킵니다. 백슬래시를 제거하기 전에. 따라서 다음과 같은 null 문자열은\N실제 데이터와 혼동할 수 없습니다. 값\N(다음과 같이 표현됨\\N).
다음 특수 백슬래시 시퀀스는 다음으로 인식됩니다.다음에서 젠 토토:
| 순서 | 대표 |
|---|---|
| \b | 백스페이스(ASCII 8) |
| \f | 폼 피드(ASCII 12) |
| \n | 줄바꿈(ASCII 10) |
| \r | 캐리지 리턴(ASCII 13) |
| \t | 탭(ASCII 9) |
| \v | 세로 탭(ASCII 11) |
| \숫자 | 백슬래시 뒤에 1~3개의 8진수가 오면 다음을 지정합니다. 해당 숫자 코드가 있는 문자 |
| \x숫자 | 백슬래시x다음에 하나 또는 두 개의 16진수가 나옵니다. digits는 해당 숫자 코드로 문자를 지정합니다. |
다음에 언급되지 않은 기타 백슬래시 문자 위의 표는 그 자체를 나타내는 것으로 간주됩니다. 그러나 조심하십시오 불필요하게 백슬래시를 추가하면 실수로 발생할 수 있으므로 데이터 끝 표시()와 일치하는 문자열을 생성합니다.\.) 또는 널 문자열(\N기본적으로). 이 문자열은 다른 문자열보다 먼저 인식됩니다. 백슬래시 처리가 완료되었습니다.
애플리케이션을 생성하는 것이 좋습니다.젠 토토데이터 변환 데이터 개행 및 캐리지가로 돌아갑니다.\n그리고\r순서 각각. 현재로서는 가능하다 백슬래시와 캐리지로 데이터 캐리지 리턴을 나타냅니다. 반환하고 백슬래시와 줄바꿈으로 데이터 줄바꿈을 나타냅니다. 그러나 이러한 진술은 향후 승인되지 않을 수 있습니다. 릴리스. 또한 다음과 같은 경우 부패에 매우 취약합니다.젠 토토파일이 다른 경로로 전송되었습니다 머신(예: Unix에서 Windows로 또는 그 반대로).
젠 토토 대상각 행을 다음으로 종료합니다. Unix 스타일 줄바꿈("\n"). Microsoft Windows에서 실행되는 서버 대신 캐리지 리턴/줄 바꿈()을 출력합니다."\r\n"), 단,젠 토토서버 파일에; 일관성을 위해 다양한 플랫폼에서,STDOUT에 젠 토토항상 보낸다"\n"서버 플랫폼에 관계없이.다음에서 젠 토토줄바꿈, 캐리지 리턴으로 끝나는 줄을 처리할 수 있습니다. 캐리지 리턴/개행. 오류로 인한 위험을 줄이기 위해 백슬래시가 없는 줄 바꿈 또는 캐리지 리턴은 다음과 같습니다. 데이터,젠 토토본:다음 줄이 있으면 불평할 것입니다. 입력의 결말이 모두 같지는 않습니다.
이 형식 옵션은 쉼표를 가져오고 내보내는 데 사용됩니다. 분리된 값(CSV) 파일 형식은 다음에서 사용됩니다. 스프레드시트와 같은 다른 많은 프로그램. 탈출하는 대신 에서 사용하는 규칙포스트그레SQL의 표준 텍스트 형식으로 공통 CSV를 생성하고 인식합니다. 탈출 메커니즘.
각 레코드의 값은 다음으로 구분됩니다.DELIMITER문자. 값에 다음이 포함된 경우 구분 기호 문자,인용문문자, 그만큼NULL문자열, 캐리지 리턴 또는 줄바꿈 문자인 경우 전체 값이 접두사와 접미사가 붙습니다. 에 의해인용문문자 및 모든 발생 a 값 이내인용문문자 또는 그만큼탈출문자 앞에는 탈출 문자. 다음을 사용할 수도 있습니다.FORCE_QUOTE출력할 때 따옴표를 강제 적용 비-NULL특정 열의 값.
그CSV형식에는 표준 방법이 없습니다. 구별하다NULL빈 값 끈.포스트그레SQL's젠 토토인용을 통해 이를 처리합니다. 에이NULL다음과 같이 출력됩니다.NULL매개변수 문자열이며 인용되지 않은 반면, 비-NULL값과 일치하는 값NULL매개변수 문자열이 인용되었습니다. 예를 들어, 기본 설정, aNULL다음과 같이 작성되었습니다. 따옴표가 없는 빈 문자열이고, 빈 문자열 데이터 값은 큰따옴표()로 작성""). 독서 가치도 비슷한 규칙을 따릅니다. 당신은 사용할 수 있습니다FORCE_NOT_NULL방지하기 위해NULL특정 열에 대한 입력 비교.
백슬래시는 특수 문자가 아니기 때문입니다.CSV형식,\., 데이터 끝 표시는 데이터 값으로 나타날 수도 있습니다. 어떤 것을 방지하려면 오해, a\.데이터 값 한 줄에 단독 항목으로 나타나는 것은 자동으로 인용됩니다. 출력 및 입력 시 인용된 경우 다음으로 해석되지 않습니다. 데이터 끝 표시자. 다른 사람이 만든 파일을 로드하는 경우 따옴표가 없는 열이 하나 있고 값\., 이를 인용해야 할 수도 있습니다. 입력 파일의 값입니다.
참고:에CSV형식, 모두 문자는 중요합니다. 흰색으로 둘러싸인 따옴표 값 공백 또는 이외의 문자DELIMITER, 해당 문자가 포함됩니다. 이것은 할 수 있다 패드를 사용하는 시스템에서 데이터를 가져오면 오류가 발생합니다.CSV공백이 있는 줄이 고정된 폭으로 나옵니다. 그러한 상황이 발생하면 다음을 전처리해야 할 수도 있습니다.CSV후행 흰색을 제거하는 파일 공간, 데이터를 가져오기 전젠 토토.
참고:CSV 형식은 CSV를 인식하고 생성합니다. 포함된 캐리지 리턴을 포함하는 따옴표 붙은 값이 있는 파일 및 라인 피드. 따라서 파일은 엄격하게 테이블 행당 한 줄이 아닙니다. 텍스트 형식 파일과 같습니다.
참고:많은 프로그램이 이상하고 가끔씩 생성됩니다. 비뚤어진 CSV 파일이므로 파일 형식은 CSV 파일보다 관례에 가깝습니다. 기준. 따라서 실행할 수 없는 일부 파일이 발생할 수 있습니다. 이 메커니즘을 사용하여 가져왔습니다. 그리고젠 토토다른 프로그램이 처리할 수 없는 파일을 생성할 수 있습니다.
그바이너리형식 옵션으로 인해 모든 텍스트가 아닌 바이너리 형식으로 저장/읽혀지는 데이터입니다. 그것은 텍스트보다 다소 빠르며CSV형식이지만 바이너리 형식 파일은 시스템 간 이식성이 떨어집니다. 아키텍처 및포스트그레SQL버전. 또한 이진 형식은 데이터 유형에 따라 매우 다릅니다. ~을 위한 예를 들어 a에서 바이너리 데이터를 출력하는 것은 작동하지 않습니다.smallint열을 읽어서정수열, 비록 그것이 잘 작동할지라도 텍스트 형식입니다.
그바이너리파일 형식은 파일 헤더, 행 데이터를 포함하는 0개 이상의 튜플, 파일 트레일러. 헤더와 데이터는 네트워크 바이트 순서로 되어 있습니다.
참고: 젠 토토7.4 이전 릴리스에서는 다른 바이너리 파일 형식을 사용했습니다.
파일 헤더는 15바이트의 고정 필드로 구성되며 그 뒤에는 가변 길이 헤더 확장 영역으로. 고정 필드 이다:
11바이트 시퀀스PGCOPY\n\377\r\n\0— 0바이트는 서명의 필수 부분입니다. (그만큼 서명은 다음과 같은 파일을 쉽게 식별할 수 있도록 설계되었습니다. 8비트 클린 전송이 아닌 전송으로 인해 삭제되었습니다. 이 서명은 줄 끝 변환 필터에 의해 변경되고 0바이트가 삭제되었습니다. 높은 비트가 삭제되었거나 패리티가 변경되었습니다.)
파일의 중요한 측면을 나타내는 32비트 정수 비트 마스크 체재. 비트는 0()부터 번호가 매겨집니다.LSB) ~ 31(MSB). 이 필드는 네트워크에 저장됩니다. 모든 정수와 마찬가지로 바이트 순서(가장 중요한 바이트부터) 파일 형식에 사용되는 필드입니다. 비트 16-31은 다음을 나타 내기 위해 예약되어 있습니다. 중요한 파일 형식 문제; 리더는 다음을 발견하면 중단해야 합니다. 이 범위에 예상치 못한 비트가 설정되었습니다. 비트 0-15는 신호용으로 예약되어 있습니다. 이전 버전과 호환되는 형식 문제; 독자는 그냥 무시해야 한다 이 범위에 예상치 못한 비트가 설정되었습니다. 현재는 하나의 플래그 비트만 있습니다. 정의되어 있고 나머지는 0이어야 합니다.
1인 경우 OID가 데이터에 포함됩니다. 0이면 아님
32비트 정수, 헤더의 나머지 부분의 길이(바이트), 아님 자기도 포함해서. 현재 이것은 0이고 첫 번째 튜플은 즉시 따라옵니다. 향후 형식 변경으로 인해 헤더에 추가 데이터가 있어야 합니다. 독자가 해야 할 일 무엇인지 모르는 헤더 확장 데이터를 자동으로 건너뜁니다. ~와 관련이 있다.
헤더 확장 영역은 다음의 시퀀스를 포함하도록 구상됩니다. 자기 식별 덩어리. 플래그 필드는 이를 알리기 위한 것이 아닙니다. 독자들은 확장 영역에 무엇이 있는지 알 수 있습니다. 헤더의 특정 디자인 확장 내용은 이후 릴리스를 위해 남겨두었습니다.
이 디자인은 이전 버전과 호환되는 헤더를 모두 허용합니다. 추가(헤더 확장 청크 추가 또는 하위 플래그 비트 설정) 및 이전 버전과 호환되지 않는 변경 사항(상위 플래그 비트를 다음으로 설정) 그러한 변경 사항을 알리고 확장 영역에 지원 데이터를 추가합니다. 필요한 경우).
각 튜플은 16비트 정수 개수로 시작합니다. 튜플의 필드. (현재 테이블의 모든 튜플은 같은 수이지만 항상 사실이 아닐 수도 있습니다.) 그런 다음 반복됩니다. 튜플의 각 필드에는 32비트 길이의 단어가 뒤에 옵니다. 그만큼 많은 바이트의 필드 데이터가 필요합니다. (길이 단어는 포함되지 않습니다 자체이며 0일 수 있습니다.) 특별한 경우로 -1은 NULL을 나타냅니다. 필드 값. NULL 경우에는 값 바이트가 뒤따르지 않습니다.
사이에 정렬 패딩이나 기타 추가 데이터가 없습니다. 전지.
현재 바이너리 형식 파일의 모든 데이터 값은 가정됩니다. 이진 형식이어야 합니다(형식 코드 1). 다음과 같은 것으로 예상됩니다. 향후 확장에는 열별 허용 헤더 필드를 추가할 수 있습니다. 형식 코드를 지정해야 합니다.
실제 튜플에 적합한 바이너리 형식을 결정하려면
참조해야 할 데이터젠 토토출처, 특히*보내기그리고*recv각 열의 데이터 유형에 대한 함수
(일반적으로 이러한 함수는 다음에서 찾을 수 있습니다.src/백엔드/utils/adt/소스 디렉토리
분포).
OID가 파일에 포함되어 있으면 OID 필드는 즉시 필드 수 단어를 따릅니다. 제외하고는 일반 필드입니다. 필드 수에 포함되지 않습니다. 특히 길이가 긴 단어가 있습니다. — 이렇게 하면 4바이트 OID와 8바이트 OID를 너무 많이 처리하지 않고도 처리할 수 있습니다. 많은 고통이 따르며, 그런 경우 OID가 null로 표시될 수 있습니다. 바람직하다는 것이 증명되었습니다.
다음 예는 다음을 사용하여 클라이언트에 테이블을 젠 토토합니다. 세로 막대(|)를 필드로 구분 기호:
국가를 STDOUT으로 젠 토토(구분자 '|');
파일의 데이터를 다음으로 젠 토토하려면국가테이블:
'/usr1/proj/bray/sql/country_data'에서 국가 젠 토토;
이름이 다음으로 시작하는 국가만 파일에 젠 토토하려면 '에이':
젠 토토(선택 * FROM 국가 WHERE country_name LIKE 'A%') TO '/usr1/proj/bray/sql/a_list_countries.copy';
압축 파일로 젠 토토하려면 다음을 통해 출력을 파이프할 수 있습니다. 외부 압축 프로그램:
'gzip /usr1/proj/bray/sql/country_data.gz' 프로그램에 국가 젠 토토;
여기에서 테이블로 젠 토토하기에 적합한 데이터 샘플이 있습니다.STDIN:
AF 아프가니스탄 알바니아 DZ 알제리 ZM 잠비아 ZW 짐바브웨
각 줄의 공백은 실제로 탭임을 참고하세요 성격.
다음은 동일한 데이터이며 바이너리 형식으로 출력됩니다. 그만큼 Unix 유틸리티를 통해 필터링한 후 데이터가 표시됩니다.od -c. 테이블에는 세 개의 열이 있습니다. 첫 번째는 유형문자(2), 두 번째에는 유형이 있습니다.텍스트, 세 번째에는 유형이 있습니다.정수. 모든 행의 세 번째 행에는 null 값이 있습니다. 열.
0000000 P G C O P Y \n 377 \r \n \0 \0 \0 \0 \0 \0 0000020 \0 \0 \0 \0 003 \0 \0 \0 002 A F \0 \0 \0 013 A 0000040 F G H A N I S T A N 377 377 377 377 \0 003 0000060 \0 \0 \0 002 A L \0 \0 \0 007 A L B A N I 0000100A 377 377 377 377 \0 003 \0 \0 \0 002 DZ \0 \0 \0 0000120 007 알제리 I A 377 377 377 377 \0 003 \0 \0 0000140 \0 002 Z M \0 \0 \0 006 Z A M B I A 377 377 0000160 377 377 \0 003 \0 \0 \0 002 Z W \0 \0 \0 \b Z I 0000200 M B A B W E 377 377 377 377 377 377
없습니다젠 토토SQL의 문 기준.
다음 구문은 이전에 사용되었습니다.젠 토토버전 9.0이며 아직입니다. 지원됨:
젠 토토테이블_이름 [ ( 열_이름[, ...] ) ]
에서 '파일 이름' | 표준
[ [ 와 함께 ]
[ 바이너리 ]
[ 오이즈 ]
[ 구분 기호 [ AS ] '구분자' ]
[ NULL [ 그대로 ] '널 문자열' ]
[ CSV [ 헤더 ]
[ 견적 [ 그대로 ] '인용문' ]
[ 탈출 [ AS ] '탈출' ]
[ 강제는 NULL이 아님열_이름[, ...] ] ] ]
젠 토토테이블_이름 [ ( 열_이름 [, ...] ) ] | ( 질의)
에게 '파일 이름' | 표준 출력
[ [ 와 함께 ]
[ 바이너리 ]
[ 오이즈 ]
[ 구분 기호 [ AS ] '구분자' ]
[ NULL [ 그대로 ] '널 문자열' ]
[ CSV [ 헤더 ]
[ 견적 [ 그대로 ] '인용문' ]
[ 탈출 [ AS ] '탈출' ]
[ 강제 인용문열_이름 [, ...] | * } ] ] ]
이 구문에서 참고하세요.바이너리그리고CSV독립적인 키워드로 취급되며, a의 인수가 아닙니다.형식옵션.
다음 구문은 이전에 사용되었습니다.젠 토토버전 7.3이며 아직입니다. 지원됨:
젠 토토 [ 바이너리 ]테이블_이름[ OIDS 포함 ]
에서 '파일 이름' | 표준
[ [사용] 구분 기호 '구분자' ]
[ NULL로 '널 문자열' ]
젠 토토 [ 바이너리 ]테이블_이름[ OIDS 포함 ]
에게 '파일 이름' | 표준 출력
[ [사용] 구분 기호 '구분자' ]
[ NULL로 '널 문자열' ]| 이전 | 배트맨 토토 : 문서 : 9.3 : 배트맨 토토 9.3.25 문서화 | 다음 |
| 커밋 준비됨 | 위로 | 집합 생성 |