롤 토토 : 문서 : 9.5 : 롤 토토 | |||
---|---|---|---|
토토 커뮤니티 PostgreSQL : 문서 : 9.5 : 준비 준비 | 스포츠 토토 사이트 PostgreSQL : 문서 : 9.5 : SQL 명령 | PostgreSQL : 문서 : 9.5 : 스포츠 토토 사이트 생성 |
스포츠 토토 베트맨table_name[(column_name10379_10406filename' | 프로그램 '명령' | stdin
[ [ 와 함께 ] (옵션[, ...])]
복사table_name[(column_name[, ...]) | (쿼리)
에게 'filename' | 프로그램 '명령' | stdout
[ [ 와 함께 ] (옵션[, ...])]여기서옵션중 하나 일 수 있습니다.형식format_nameoids [부울]
동결 [부울]
Delimiter 'delimiter_character'
NULL 'null_string'
헤더 [부울]
인용하다 'QUOTE_CHARACTER'
탈출하다 'Escape_character'
force_quote (column_name[, ...]) | *
force_not_null (column_name[, ...])
force_null (column_name[, ...])
인코딩 'encoding_name'
스포츠 토토 베트맨간에 데이터 이동PostgreSQL표 및 표준 파일 시스템 파일.복사테이블의 내용을 복사합니다to파일, while스포츠 토토 베트맨 From데이터 사본From테이블에 파일 (이미 테이블에있는 모든 것에 데이터를 추가).복사a의 결과도 복사 할 수 있습니다.select쿼리.
열 목록이 지정된 경우복사지정된 열의 데이터 만 파일에 복사합니다. 을 위한복사, 파일의 각 필드는 순서대로 지정된 열에 삽입됩니다. 표에 지정되지 않은 표 열복사열 목록은 기본값을받습니다.
스포츠 토토 베트맨파일 이름으로 지시PostgreSQL서버 파일에서 직접 읽거나 쓸 수 있습니다. 파일은에 의해 액세스 할 수 있어야합니다.PostgreSQLuser (사용자 ID 서버가 실행되는 사용자 ID)이며 이름은 서버의 관점에서 지정되어야합니다. 언제프로그램지정되고 서버는 주어진 명령을 실행하고 프로그램의 표준 출력에서 읽거나 프로그램의 표준 입력에 씁니다. 명령은 서버의 관점에서 지정되어야하며에 의해 실행 될 수 있어야합니다.PostgreSQL사용자. 언제Stdin또는stdout지정되어 있고, 데이터는 클라이언트와 서버 간의 연결을 통해 전송됩니다.
기존 테이블의 이름 (선택적으로 스키마 자격).
복사 할 열의 선택적 목록. 열 목록이 지정되지 않으면 테이블의 모든 열이 복사됩니다.
aselect또는토토 사이트 추천 PostgreSQL : 문서 : 9.5 : 값결과를 복사 할 명령. 쿼리 주변에는 괄호가 필요합니다.
입력 또는 출력 파일의 경로 이름. 입력 파일 이름은 절대적 또는 상대 경로 일 수 있지만 출력 파일 이름은 절대 경로 여야합니다. Windows 사용자는를 사용해야 할 수도 있습니다.e ''경로 이름에 사용 된 뒷면 슬래시를 문자열 및 두 배로 늘립니다.
실행하라는 명령. 안에스포츠 토토 베트맨 From, 입력은 명령의 표준 출력에서 읽습니다.복사, 출력은 명령의 표준 입력에 기록됩니다.
명령은 쉘에 의해 호출되므로 신뢰할 수없는 소스에서 나오는 쉘 명령에 인수를 전달 해야하는 경우 쉘에 대한 특별한 의미가있는 특수 문자를 벗기거나 탈출해야합니다. 보안상의 이유로, 고정 된 명령 문자열을 사용하거나 최소한 사용자 입력을 전달하지 않는 것이 가장 좋습니다.
입력이 클라이언트 응용 프로그램에서 제공되는 것을 지정합니다.
출력이 클라이언트 응용 프로그램으로 이동하는 것을 지정합니다.
선택한 옵션을 켜거나 끄야하는지 여부를 지정합니다. 당신은 쓸 수 있습니다true, on또는1옵션을 활성화하려면거짓, OFF또는0비활성화하려면. 그만큼부울값도 생략 할 수 있습니다.true가정합니다.
읽거나 쓸 수있는 데이터 형식을 선택합니다 :텍스트, CSV(쉼표 분리 값) 또는BINAGE. 기본값은텍스트.
각 행의 OID 복사를 지정합니다. (오류가 발생하면OIDSOID가없는 테이블에 대해 또는 a의 경우쿼리.)
|진공 동결명령. 이는 초기 데이터 로딩을위한 성능 옵션으로 고안되었습니다. 로드 된 테이블이 현재 서브 트랜잭션에서 생성되거나 잘린 경우에만 행이 얼어 붙었습니다. 커서가 열리지 않으며이 트랜잭션에서 보유한 구형 스냅 샷이 없습니다..
다른 모든 세션은 데이터가 성공적으로로드되면 즉시 데이터를 볼 수 있습니다. 이것은 MVCC 가시성의 정상적인 규칙을 위반하고 사용자는 이것이 발생할 수있는 잠재적 문제를 알고 있어야합니다..
파일의 각 행 (라인) 내에서 열을 분리하는 문자를 지정합니다. 기본값은 텍스트 형식의 탭 문자입니다.CSV형식. 이것은 하나의 1 바이트 문자 여야합니다. 이 옵션을 사용할 때는이 옵션이 허용되지 않습니다BINAGE형식.
널 값을 나타내는 문자열을 지정합니다. 기본값은\ n(backslash-n) 텍스트 형식의 및 인용되지 않은 빈 문자열CSV형식. 널을 빈 문자와 구별하지 않으려는 경우 텍스트 형식의 빈 문자열을 선호 할 수 있습니다. 이 옵션을 사용할 때는이 옵션이 허용되지 않습니다BINAGE형식.
참고 :사용시스포츠 토토 베트맨 From,이 문자열과 일치하는 모든 데이터 항목은 널 값으로 저장되므로와 동일한 문자열을 사용해야합니다.복사.
파일에 파일에 각 열의 이름이있는 헤더 라인이 포함되어 있는지 지정합니다. 출력시 첫 번째 줄에는 테이블의 열 이름이 포함되어 있으며 입력시 첫 번째 줄은 무시됩니다. 이 옵션은를 사용할 때만 허용됩니다.CSV형식.
데이터 값이 인용 될 때 사용할 인용 문자를 지정합니다. 기본값은 이중 인용입니다. 이것은 하나의 1 바이트 문자 여야합니다. 이 옵션은를 사용할 때만 허용됩니다.CSV형식.
와 일치하는 데이터 문자 앞에 나타나야하는 문자를 지정합니다QUOTE값. 기본값은와 동일합니다.QUOTEvalue (따라서 인용 문자가 데이터에 나타나면 두 배가됩니다). 이것은 하나의 1 바이트 문자 여야합니다. 이 옵션은를 사용할 때만 허용됩니다.CSV형식.
모든 비에 사용되도록 인용하는 힘NULL지정된 각 열의 값.NULL출력은 인용되지 않습니다. 만약에*지정되어 있지 않습니다.NULL값은 모든 열에 인용됩니다. 이 옵션은에서만 허용됩니다.복사, 그리고 사용할 때만CSV형식.
지정된 열의 값과 널 문자열과 일치하지 마십시오. NULL 문자열이 비어있는 기본 경우에서는 빈 값이 인용되지 않더라도 NULL이 아닌 0 길이 스트링으로 읽습니다. 이 옵션은에서만 허용됩니다.스포츠 토토 베트맨그리고 사용할 때만CSV형식.
지정된 열의 값을 인용 된 경우에도 NULL 문자열과 일치시키고 일치가 발견되면 값을 설정하는 경우null. NULL 문자열이 비어있는 기본 케이스에서는 인용 된 빈 문자열을 NULL로 변환합니다. 이 옵션은에서만 허용됩니다.복사, 그리고 사용할 때만CSV형식.
파일이 인코딩되어 있음을 지정합니다.encoding_name. 이 옵션이 생략되면 현재 클라이언트 인코딩이 사용됩니다. 자세한 내용은 아래 메모를 참조하십시오.
성공적인 완료시 A스포츠 토토 베트맨명령은 양식의 명령 태그를 반환
스포츠 토토 베트맨count
thecount복사 된 행 수입니다.
참고 : PSQL명령이없는 경우에만이 명령 태그를 인쇄합니다복사 ... stdout또는 이와 동등한PSQLMeta-Command\ 스포츠 토토 베트맨 ... to stdout. 이것은 명령 태그를 방금 인쇄 한 데이터와 혼동하지 않도록하기위한 것입니다.
스포츠 토토 베트맨보기가 아닌 일반 테이블에서만 사용할 수 있습니다. 그러나 쓸 수 있습니다스포츠 토토 베트맨 (select * fromViewName) to ....
스포츠 토토 베트맨이름이 지정된 특정 테이블만을 다룹니다. 자식 테이블에 데이터를 복사하지 않습니다. 예를 들어스포츠 토토 베트맨테이블to동일한 데이터를 보여줍니다.선택 * From Only테이블. 하지만복사 (select * from테이블) to ...상속 계층에 모든 데이터를 덤프하는 데 사용할 수 있습니다.
값을 읽는 테이블에 선택된 권한이 있어야합니다.복사, 그리고 값이 삽입되는 테이블에 권한을 삽입스포츠 토토 베트맨. 명령에 열거 된 열에 열 권한을 갖는 것으로 충분합니다.
테이블에 대한로드 레벨 보안이 활성화 된 경우 관련select정책이 적용됩니다스포츠 토토 베트맨테이블to진술. 현재,복사는로드 레벨 보안이있는 테이블에 대해 지원되지 않습니다. 동등한 사용삽입대신 진술.
a에 명명 된 파일스포츠 토토 베트맨명령은 클라이언트 응용 프로그램이 아닌 서버에서 직접 읽거나 작성합니다. 따라서 클라이언트가 아닌 데이터베이스 서버 시스템에 상주하거나 액세스 할 수 있어야합니다. 그들은 접근 할 수 있고 읽을 수 있거나 쓸 수 있어야합니다.PostgreSQLuser (사용자는 서버가 실행되는 사용자 ID)가 아니라 클라이언트가 아닙니다. 마찬가지로 명령은프로그램클라이언트 응용 프로그램이 아닌 서버에서 직접 실행됩니다.PostgreSQLuser.스포츠 토토 베트맨파일 또는 명령 이름은 서버에 액세스 할 권한이있는 파일을 읽거나 쓸 수 있기 때문에 데이터베이스 슈퍼 사용자에게만 허용됩니다..
혼동하지 마십시오스포츠 토토 베트맨withPSQL명령어\ 스포츠 토토 베트맨. \ 스포츠 토토 베트맨호출stdin에서 복사또는stdout에 복사PSQL클라이언트. 따라서 파일 접근성 및 액세스 권한은 서버가 아닌 클라이언트에 따라\ 스포츠 토토 베트맨사용됩니다.
사용 된 파일 이름이 권장됩니다.스포츠 토토 베트맨항상 절대 경로로 지정됩니다. 이것은의 경우 서버에 의해 시행됩니다.복사하지만스포츠 토토 베트맨상대 경로로 지정된 파일에서 읽을 수있는 옵션이 있습니다. 이 경로는 클라이언트의 작업 디렉토리가 아닌 서버 프로세스의 작업 디렉토리 (일반적으로 클러스터의 데이터 디렉토리)에 비해 해석됩니다.
명령 실행프로그램Selinux와 같은 운영 체제의 액세스 제어 메커니즘에 의해 제한 될 수 있습니다.
스포츠 토토 베트맨 From대상 테이블에서 트리거를 호출하고 제약 조건을 확인합니다. 그러나 규칙을 호출하지 않습니다.
스포츠 토토 베트맨입력 및 출력에 의해 영향을받습니다Datestyle. 다른 사람에 대한 이식성을 보장하려면PostgreSQL비 디폴트를 사용할 수있는 설치Datestyle설정,Datestyle로 설정해야합니다ISO사용 전복사. 또한 데이터를 덤프하지 않도록하는 것도 좋은 생각입니다.IntervalStyle설정sql_standard, 음의 간격 값이 다른 설정이 다른 서버에 의해 잘못 해석 될 수 있기 때문에IntervalStyle.
입력 데이터는에 따라 해석됩니다.인코딩옵션 또는 현재 클라이언트 인코딩 및 출력 데이터가 인코딩되어인코딩또는 현재 클라이언트 인코딩, 데이터가 클라이언트를 통과하지 않고 서버에서 직접 파일에서 읽거나 쓰여진 경우에도.
스포츠 토토 베트맨첫 번째 오류에서 작동을 중지합니다. 이것은 A의 경우 문제를 일으키지 않아야합니다.복사, 그러나 대상 테이블은 이미 A에서 이전 행을 받았습니다스포츠 토토 베트맨 From. 이 행은 보이거나 접근 할 수 없지만 여전히 디스크 공간을 차지합니다. 고장이 큰 복사 작업으로 잘 발생하면 상당한 양의 낭비 된 디스크 공간에 해당 할 수 있습니다. 당신은 호출하고 싶을 것입니다진공낭비 된 공간을 회수하려면
Force_null및force_not_null같은 열에서 동시에 사용할 수 있습니다. 이로 인해 인용 된 널 문자열을 널 값으로 변환하고 인용되지 않은 널 문자열을 빈 문자로 변환합니다.
언제텍스트형식이 사용되며, 데이터를 읽거나 쓰여진 데이터는 테이블 행당 한 줄의 텍스트 파일입니다. 연속의 열은 구분자 문자로 분리됩니다. 열 값 자체는 출력 함수에 의해 생성 된 문자열이거나 각 속성의 데이터 유형의 입력 함수에 허용됩니다. 지정된 NULL 문자열은 NULL의 열 대신 사용됩니다.복사입력 파일의 라인에 예상보다 열이 많거나 적은 열이 포함 된 경우 오류가 발생합니다. 만약에OIDS지정되어 있으며, OID는 사용자 데이터 열에 앞서 첫 번째 열로 읽거나 작성됩니다..
데이터 끝은 백 슬래시-기간 (을 포함하는 단일 줄로 표시 될 수 있습니다.\.). 파일 끝이 완벽하게 잘 작동하기 때문에 파일에서 읽을 때 데이터 종료 마커가 필요하지 않습니다. Pre-3.0 클라이언트 프로토콜을 사용하여 클라이언트 응용 프로그램에 데이터를 복사 할 때만 필요합니다.
백 슬래시 문자 (\)에서 사용할 수 있습니다스포츠 토토 베트맨그렇지 않으면 행 또는 열 구분자로 취할 수있는 데이터 문자를 인용하는 데이터. 특히 다음 문자필수열 값의 일부로 나타나는 경우 백 슬래시가 앞서 나옵니다 : Backslash 자체, Newline, Carriage Return 및 현재 분리기 문자.
지정된 널 문자열은에 의해 전송됩니다.복사백 슬래시를 추가하지 않고; 거꾸로,복사백 슬래시를 제거하기 전에 널 문자열과 입력을 일치시킵니다. 따라서와 같은 널 문자열\ n실제 데이터 값과 혼동 될 수 없습니다\ n(\\ n).
다음 특수 백 슬래시 시퀀스는에 의해 인식됩니다.스포츠 토토 베트맨 From:
시퀀스 | 대표 |
---|---|
\ b | Backspace (ASCII 8) |
\ f | 양식 피드 (ASCII 12) |
\ n | Newline (ASCII 10) |
\ r | 캐리지 리턴 (ASCII 13) |
\ t | 탭 (ASCII 9) |
\ V | 수직 탭 (ASCII 11) |
\숫자 | 백 슬래시 뒤에 1 ~ 3 개의 옥탈 숫자가 해당 숫자 코드로 문자를 지정합니다 |
\ xDigits | backslashx그 뒤에 하나 또는 두 개의 16 진수 숫자가 해당 숫자 코드로 문자를 지정합니다 |
위 표에 언급되지 않은 다른 백 슬래시 캐릭터는 그 자체로 표시됩니다. 그러나 불필요하게 백 슬래시를 추가하지 않아도됩니다. 실수로 데이터 끝 마커 (와 일치하는 문자열이 생성 될 수 있기 때문입니다.\.) 또는 널 문자열 (\ n기본적으로). 이 문자열은 다른 백 슬래시 처리가 완료되기 전에 인식됩니다.
응용 프로그램이 생성하는 것이 좋습니다스포츠 토토 베트맨데이터 변환 데이터 Newlines 및 Carriage Returns\ n및\ r각각 시퀀스. 현재 백 슬래시 및 캐리지 리턴에 의한 데이터 캐리지 리턴을 나타내고 백 슬래시 및 신규 라인에 의해 데이터 신규 라인을 나타낼 수 있습니다. 그러나 이러한 표현은 향후 릴리스에서 허용되지 않을 수 있습니다. 그들은 또한 부패에 매우 취약합니다.스포츠 토토 베트맨파일은 다른 컴퓨터에서 전송됩니다 (예 : UNIX에서 Windows 또는 그 반대로)
복사Unix 스타일의 Newline (로 각 행을 종료합니다."\ n"). Microsoft Windows에서 실행되는 서버 대신 캐리지 return/newline ( 대신 출력"\ r \ n")하지만 만스포츠 토토 베트맨서버 파일로; 플랫폼 전체의 일관성을 위해stdout에 복사항상 보낸"\ n"서버 플랫폼에 관계없이.스포츠 토토 베트맨 From신생, 운송 반환 또는 운송 반품/신생으로 끝나는 선을 처리 할 수 있습니다. 백사 슬래시가없는 신형 또는 데이터와 같은 캐리지 리턴으로 인한 오류의 위험을 줄이려면복사입력의 줄 종료가 모두 비슷하지 않은 경우 불만을 제기합니다.
이 형식 옵션은 쉼표로 분리 된 값을 가져오고 내보내는 데 사용됩니다 (CSV) 스프레드 시트와 같은 다른 많은 프로그램에서 사용하는 파일 형식. 에 사용 된 탈출 규칙 대신PostgreSQL의 표준 텍스트 형식, 일반적인 CSV 이스케이프 메커니즘을 생성하고 인식합니다.
각 레코드의 값은에 의해 분리됩니다.Delimiter캐릭터. 값에 Delimiter 문자가 포함 된 경우QUOTE캐릭터,null문자열, 캐리지 리턴 또는 라인 피드 문자 인 경우 전체 값은 접두사에 의해 접두사 및 접미사QUOTE캐릭터 및 A의 값 내에서 발생하는 모든 사건QUOTE캐릭터 또는탈출캐릭터는 탈출 캐릭터가 선행됩니다. 당신은 또한 사용할 수 있습니다Force_quote비 출력시 인용문을 강제로NULL특정 열의 값.
theCSV형식은 A를 구별하는 표준 방법이 없습니다NULL빈 문자열의 값.PostgreSQL's스포츠 토토 베트맨인용하여 이것을 처리합니다. 에이NULL출력으로NULL매개 변수 문자열 및 인용되지 않지만 비NULL값 일치NULL매개 변수 문자열이 인용됩니다. 예를 들어, 기본 설정으로 ANULL는 인용되지 않은 빈 문자열로 작성되었으며 빈 문자열 데이터 값은 이중 인용문으로 작성됩니다 (""). 읽기 값은 비슷한 규칙을 따릅니다. 사용할 수 있습니다force_not_null방지하려면NULL특정 열에 대한 입력 비교. 당신은 또한 사용할 수 있습니다Force_Null인용 된 NULL 문자열 데이터 값을 변환하려면NULL.
Backslash가 특별한 캐릭터가 아니기 때문에CSV형식,\.34625_34722\.라인의 고독 항목으로 나타나는 데이터 값은 출력시 자동 인용되며 인용 된 경우 입력시 데이터 종료 마커로 해석되지 않습니다. 단일 인용되지 않은 열이 있고 값이가있는 다른 응용 프로그램에서 생성 된 파일을로드하는 경우\., 입력 파일에 해당 값을 인용해야 할 수도 있습니다.
참고 :inCSV형식, 모든 문자는 중요합니다. 공백으로 둘러싸인 인용 된 가치 또는 이외의 다른 문자Delimiter에는 해당 문자가 포함됩니다. 패드가있는 시스템에서 데이터를 가져 오면 오류가 발생할 수 있습니다.CSV공백이 고정 된 너비로 선이있는 선. 그러한 상황이 발생하면 전처리해야 할 수도 있습니다.CSV데이터를 가져 오기 전에 후행 공백을 제거하려는 파일PostgreSQL.
참고 :CSV 형식은 임베디드 캐리지 리턴 및 라인 피드를 포함하는 인용 된 값으로 CSV 파일을 인식하고 생성합니다. 따라서 파일은 텍스트 형식 파일과 같이 테이블 행당 하나의 줄이 아닙니다.
참고 :많은 프로그램이 이상하고 때로는 CSV 파일을 생성하므로 파일 형식은 표준보다 더 규칙입니다. 따라서이 메커니즘을 사용하여 가져올 수없는 일부 파일과스포츠 토토 베트맨다른 프로그램이 처리 할 수없는 파일을 생성 할 수 있습니다.
theBINAGE형식 옵션은 모든 데이터를 텍스트가 아닌 이진 형식으로 저장/읽습니다. 텍스트보다 다소 빠릅니다CSV형식이지만 이진 형식 파일은 기계 아키텍처에서 휴대용이 덜 휴대용입니다.PostgreSQL버전. 또한 이진 형식은 매우 데이터 유형에 따라 다릅니다. 예를 들어 a에서 이진 데이터를 출력하는 데는 작동하지 않습니다.smallint열을 읽고정수열, 텍스트 형식으로 잘 작동하지만
theBINAGE파일 형식은 파일 헤더, 행 데이터가 포함 된 튜플 이상 및 파일 트레일러로 구성됩니다. 헤더와 데이터는 네트워크 바이트 순서입니다.
참고 : PostgreSQL7.4 전에 릴리스 다른 바이너리 파일 형식을 사용했습니다.
파일 헤더는 15 바이트의 고정 필드로 구성되며 가변 길이 헤더 확장 영역으로 구성됩니다. 고정 필드는 다음과 같습니다.
11 바이트 시퀀스pg스포츠 토토 베트맨 \ n \ 377 \ r \ n \ 0- 제로 바이트는 서명의 필수 부분입니다. (서명은 8 비트 클리어 전송에 의해 munged 파일을 쉽게 식별 할 수 있도록 설계되었습니다.이 서명은 종말 변환 필터, 제로 바이트, 높은 비트 또는 패리티 변경으로 인해 변경됩니다.).
32 비트 정수 비트 마스크 파일 형식의 중요한 측면을 나타냅니다. 비트는 0 (에서 번호가 매겨집니다.LSB) ~ 31 (MSB). 이 필드는 파일 형식에 사용 된 모든 정수 필드와 마찬가지로 네트워크 바이트 순서 (가장 중요한 바이트 우선)에 저장됩니다. 비트 16-31은 중요한 파일 형식 문제를 나타내도록 예약되어 있습니다. 독자는이 범위에서 예상치 못한 비트를 찾으면 중단해야합니다. 비트 0-15는 뒤로 호환 형식 문제를 나타내도록 예약되어 있습니다. 독자는이 범위에 설정된 예기치 않은 비트를 무시해야합니다. 현재 하나의 플래그 비트 만 정의되고 나머지는 0이어야합니다.
1 인 경우 OID가 데이터에 포함됩니다. 0이면
32 비트 정수, 나머지 헤더의 바이트 길이는 자기를 포함하지 않습니다. 현재 이것은 0이고 첫 번째 튜플은 즉시 따릅니다. 형식으로 향후 변경하면 헤더에 추가 데이터가있을 수 있습니다. 독자는 무엇을 해야할지 모르는 헤더 확장 데이터를 조용히 건너 뛰어야합니다.
헤더 확장 영역은 일련의 자체 식별 청크를 포함하도록 구상되었습니다. 플래그 필드는 독자들에게 확장 영역에있는 것을 알려주는 것이 아닙니다. 헤더 확장 내용의 특정 설계는 나중에 릴리스를 위해 남겨 둡니다.
이 디자인은 뒤로 호환 가능한 헤더 추가 (헤더 확장 덩어리 추가 또는 저음 깃발 비트를 설정) 및 비 백워드 호환 변경 (이러한 변경 사항을 알리기 위해 고차 플래그 비트를 설정하고 필요한 경우 확장 영역에 지원 데이터를 추가 할 수 있습니다).
각 튜플은 튜플의 필드 수의 16 비트 정수 수로 시작됩니다. (현재, 테이블의 모든 튜플은 같은 카운트를 가질 것이지만 항상 사실이 아닐 수도 있습니다.) 그런 다음 튜플의 각 필드마다 반복되면 32 비트 길이의 단어와 많은 바이트의 필드 데이터가 있습니다. (길이 단어는 자체를 포함하지 않으며 0이 될 수 있습니다.) 특별한 경우 -1은 널 필드 값을 나타냅니다. 널 케이스에서는 값 바이트가 따르는 것이 없습니다.
필드간에 정렬 패딩이나 기타 추가 데이터가 없습니다.
현재 이진 형식 파일의 모든 데이터 값은 이진 형식 (형식 코드 1)으로 가정됩니다. 향후 확장자는 컬럼 당 형식 코드를 지정할 수있는 헤더 필드를 추가 할 수 있습니다.
실제 튜플 데이터에 대한 적절한 이진 형식을 결정하려면PostgreSQL소스, 특히*send
및*recv
각 열의 데이터 유형에 대한 함수 (일반적으로 이러한 함수는에 있습니다src/backend/utils/adt/소스 분포의 디렉토리).
OID가 파일에 포함되면 OID 필드는 즉시 필드 카운트 단어를 따릅니다. 필드 카운트에 포함되지 않는 것을 제외하고는 정상 필드입니다. 특히 길이의 단어가 있습니다. 이것은 너무 많은 고통없이 4 바이트 대 8 바이트 OID를 처리 할 수 있으며, 바람직한 경우 OID가 널로 표시 될 수 있습니다..
다음 예제는 수직 막대를 사용하여 클라이언트에게 테이블을 복사합니다 (|) 필드 구분 기호로서 :
국가 복사 국가를 stdout (delimiter '|');
파일의 데이터를 파일로 복사하려면Country테이블 :
'/usr1/proj/bray/sql/country_data';의 국가 복사 국가
이름이 'a'로 시작하는 국가 만 파일에 복사하려면 :
스포츠 토토 베트맨 (Country_Name이 'a%'와 같은 국가에서 선택 *) to '/usr1/proj/bray/sql/a_list_countries.스포츠 토토 베트맨';
압축 파일로 복사하려면 외부 압축 프로그램을 통해 출력을 파이프 할 수 있습니다.
국가 복사 국가 'GZIP /usr1/proj/bray/sql/country_data.gz';
여기 테이블에서 복사하는 데 적합한 데이터 샘플이 있습니다.Stdin:
AF 아프가니스탄 알 알바니아 DZ 알제리 ZM 잠비아 ZW 짐바브웨
각 라인의 공백은 실제로 탭 문자입니다.
다음은 동일한 데이터이며 이진 형식의 출력입니다. UNIX 유틸리티를 통해 필터링 한 후 데이터가 표시됩니다.OD -C. 테이블에는 세 개의 열이 있습니다. 첫 번째는 유형이 있습니다char (2), 두 번째는 유형이 있습니다텍스트, 세 번째는 유형이 있습니다정수. 모든 행은 세 번째 열에 널 값이 있습니다.
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 \ 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 0000100 A 377 377 377 377 \ 0 003 \ 0 \ 0 \ 0 002 D Z \ 0 \ 0 \ 0 \ 0 0000120 007 A L G E R 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 표준의 명령문.
다음 구문이 전에 사용되었습니다PostgreSQL버전 9.0 및 여전히 지원됩니다 :
스포츠 토토 베트맨table_name[(column_name[, ...])] 에서 'filename' | stdin [ [ 와 함께 ] [바이너리] [OIDS] [Delimiter [as] 'delimiter_character' ]] [null [as] 'NULL String' ]] [CSV [헤더] [인용 [as] 'QUOTE_CHARACTER' ]] [탈출 [AS] 'Escape_character' ]] [힘이 아님column_name[, ...]]]] 복사table_name[(column_name[, ...]) | (쿼리) 에게 'filename' | stdout [ [ 와 함께 ] [바이너리] [OIDS] [Delimiter [as] 'delimiter_character' ]] [null [as] 'NULL String' ]] [CSV [헤더] [인용 [as] 'QUOTE_CHARACTER' ]] [탈출 [AS] 'Escape_character' ]] [힘 견적column_name[, ...] | *]]]
이 구문에서에 유의하십시오.BINAGE및CSVa의 주장이 아니라 독립적 인 키워드로 취급됩니다형식옵션.
다음 구문이 전에 사용되었습니다PostgreSQL버전 7.3 및 여전히 지원됩니다 :
복사 [binary]table_name[OIDS와] 에서 'filename' | stdin [[사용] Delimiters 'delimiter_character' ]] [NULL으로 'null_string' ]] 복사 [binary]table_name[OIDS와] 에게 'filename' | stdout [[사용] Delimiters 'delimiter_character' ]] [NULL으로 'null_string' ]