Phiên bản được hỗ trợ:hiện tại(17) /16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1
Tài kèo bóng đá hôm nay và ngày mai này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng kèo bóng đá hôm nay và ngày mai trang chohiện tạiPhiên bản hoặc kèo bóng đá hôm nay và ngày mai trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

kèo bóng đá hôm nay và ngày maiCopy

tên

kèo bóng đá hôm nay và ngày mai-kèo bóng đá hôm nay và ngày mai dữ liệu giữa các tệp và Bảng

Synopsis

CopyBảng[(cột[, ...])]]]
    TỪ  'FileName' |stdin[ [ VỚI ] 
          [Nhị phân] 
          [OIDS]
          [Delimiter [as] 'Delimiter' ]
          [Null [as] 'chuỗi null' ]]
kèo bóng đá hôm nay và ngày maiBảng[(Cột[, ...])]]
    ĐẾN  'FileName' |stdout[ [ VỚI ] 
          [Nhị phân]
          [OIDS]
          [Delimiter [as] 'Delimiter' ]
          [Null [as] 'NULL String' ]]

Đầu vào

Bảng

Tên (có thể là trình độ lược đồ) của kèo bóng đá hôm nay và ngày mai bàn.

cột

Một danh sách các cột tùy chọn sẽ được kèo bóng đá hôm nay và ngày mai. Nếu không có cột Danh sách được chỉ định, tất cả các cột sẽ được sử dụng.

FileName

Tên đường dẫn UNIX tuyệt đối của đầu vào hoặc đầu ra tài kèo bóng đá hôm nay và ngày mai.

stdin

Chỉ định đầu vào đó đến từ máy khách ứng dụng.

stdout

Chỉ định đầu ra đó được chuyển đến máy khách ứng dụng.

nhị phân

Thay đổi hành vi của định dạng trường, buộc tất cả dữ kèo bóng đá hôm nay và ngày mai sẽ được lưu trữ hoặc đọc ở định dạng nhị phân chứ không phải là chữ. Bạn không thể chỉ địnhDelimiterhoặcnullở chế độ nhị phân.

OIDS

Chỉ định kèo bóng đá hôm nay và ngày mai ID đối tượng bên trong (OID) cho mỗi hàng.

Delimiter

ký tự duy nhất phân tách các trường trong mỗi trường hàng (dòng) của tệp.

NULL Chuỗi

Chuỗi đại diện cho giá trị null. Mặc định là"\ n"(Backslash-n). Bạn có thể thích hơn Ví dụ: kèo bóng đá hôm nay và ngày mai chuỗi trống.

Lưu ý:Trên một bản kèo bóng đá hôm nay và ngày mai, bất kỳ mục dữ liệu nào khớp với chuỗi này sẽ được lưu trữ dưới dạng giá trị null, Vì vậy, bạn nên đảm bảo rằng bạn sử dụng cùng một chuỗi Như bạn đã sử dụng trên bản kèo bóng đá hôm nay và ngày mai.

đầu ra

Copy

Bản kèo bóng đá hôm nay và ngày mai đã hoàn thành thành công.

Lỗi:Lý do

Bản kèo bóng đá hôm nay và ngày mai không thành công vì lý do đã nêu trong lỗi tin nhắn.

Mô tả

Copydi chuyển dữ kèo bóng đá hôm nay và ngày mai giữaPostgreSQLBảng và hệ thống tệp tiêu chuẩn Tệp.kèo bóng đá hôm nay và ngày mai vàokèo bóng đá hôm nay và ngày mai nội dung của A bànđếnkèo bóng đá hôm nay và ngày mai tệp, trong khikèo bóng đá hôm nay và ngày mai từBản kèo bóng đá hôm nay và ngày mai dữ liệutừMột tệp vào bảng (nối thêm dữ kèo bóng đá hôm nay và ngày mai cho bất cứ thứ gì trong bảng rồi).

Nếu kèo bóng đá hôm nay và ngày mai danh sách các cột được chỉ định,CopySẽ chỉ kèo bóng đá hôm nay và ngày mai dữ liệu trong cột đến hoặc từ tệp. Nếu có bất kỳ cột nào trong bảng không có trong danh sách cột,kèo bóng đá hôm nay và ngày mai TỪSẽ chèn các giá trị mặc định cho các cột đó.

CopyVới tên tệp hướng dẫnPostgreSQLphụ trợ trực tiếp Đọc từ hoặc ghi vào kèo bóng đá hôm nay và ngày mai tập tin. Tệp phải có thể truy cập được phụ trợ và tên phải được chỉ định từ quan điểm của phụ trợ. Khistdinhoặcstdoutđược chỉ định, dữ kèo bóng đá hôm nay và ngày mai chảy qua máy khách frontend đến phụ trợ.

Tip:Không nhầm lẫnCopyvớiPSQLHướng dẫn\ Copy. \ CopyGọi15513_15536hoặckèo bóng đá hôm nay và ngày mai vào stdout, và sau đó tìm nạp/lưu trữ dữ kèo bóng đá hôm nay và ngày mai trong một tệp có thể truy cập vàoPSQLKhách hàng. Do đó, tập tin quyền truy cập và quyền truy cập phụ thuộc vào khách hàng hơn phần phụ trợ khi\ CopyIS đã sử dụng.

Ghi chú

Copychỉ có thể được sử dụng với đơn giản bảng, không có chế độ xem.

Từ khóa nhị phân sẽ buộc tất cả dữ liệu được lưu trữ/đọc là Định dạng nhị phân chứ không phải là văn bản. Nó nhanh hơn một chút so với Lệnh kèo bóng đá hôm nay và ngày mai bình thường, nhưng tệp kèo bóng đá hôm nay và ngày mai nhị phân không thể di động trên các kiến ​​trúc máy.

Theo mặc định, một bản kèo bóng đá hôm nay và ngày mai văn bản sử dụng ký tự tab ("\ t") làm phân định giữa các trường. Phân định trường có thể được thay đổi thành bất kỳ ký tự đơn nào khác với từ khóaDelimiter. Ký tự trong các trường dữ kèo bóng đá hôm nay và ngày mai xảy ra để phù hợp với nhân vật phân cách sẽ bị chao đảo được trích dẫn.

Bạn phải cóChọn Đặc quyềntrên bất kỳ bảng nào có giá trị được đọc bởikèo bóng đá hôm nay và ngày mai ĐẾNChèn đặc quyềnTrên a bảng vào giá trị nào đang được chèn bởikèo bóng đá hôm nay và ngày mai từ. Phần phụ trợ cũng cần thích hợp Quyền UNIX cho bất kỳ tệp nào được đọc hoặc viết bởiCopy.

kèo bóng đá hôm nay và ngày mai từSẽ gọi bất kỳ trình kích hoạt nào và kiểm tra các ràng buộc trên bảng đích. Tuy nhiên, nó sẽ không gọi các quy tắc.

CopyDừng hoạt động ở lần đầu tiên lỗi. Điều này không nên dẫn đến các vấn đề trong trường hợpkèo bóng đá hôm nay và ngày mai vào, nhưng mối quan hệ đích sẽ đã nhận được các hàng trước đó trong kèo bóng đá hôm nay và ngày maikèo bóng đá hôm nay và ngày mai từ. Những hàng này sẽ không được nhìn thấy hoặc Có thể truy cập, nhưng họ vẫn chiếm không gian đĩa. Điều này có thể số tiền đến một lượng không gian đĩa bị lãng phí đáng kể nếu sự cố đã xảy ra tốt vào một hoạt động kèo bóng đá hôm nay và ngày mai lớn. Bạn có thể muốn GọiVACUUMĐể phục hồi sự lãng phí không gian.

Tệp có tên trong ACopylệnh là Đọc hoặc viết trực tiếp bởi phần phụ trợ, không phải bởi khách hàng ứng dụng. Do đó, họ phải cư trú hoặc có thể truy cập được Máy chủ cơ sở dữ kèo bóng đá hôm nay và ngày mai, không phải máy khách. Họ phải được có thể truy cập và có thể đọc được hoặc có thể ghi bởiPostgreSQLNgười dùng (ID người dùng máy chủ chạy như), không phải máy khách.CopyĐặt tên một tệp chỉ được phép cho các siêu nhân cơ sở dữ kèo bóng đá hôm nay và ngày mai, vì nó cho phép Đọc hoặc viết bất kỳ tệp nào mà phụ trợ có đặc quyền truy cập.

Tip:ThePSQLHướng dẫn\ CopyĐọc hoặc viết các tệp trên máy khách với quyền của khách hàng, Vì vậy, nó không bị giới hạn đối với các siêu nhân.

Đề xuất tên tệp được sử dụng trongCopyLuôn luôn được chỉ định là kèo bóng đá hôm nay và ngày mai đường dẫn tuyệt đối. Điều này được thi hành bởi phần phụ trợ trong trường hợpkèo bóng đá hôm nay và ngày mai vào, nhưng chokèo bóng đá hôm nay và ngày mai TỪBạn có tùy chọn đọc từ tệp được chỉ định bởi kèo bóng đá hôm nay và ngày mai đường dẫn tương đối. Con đường sẽ được giải thích liên quan đến thư mục làm việc của phụ trợ (ở đâu đó bên dưới$ pgdata), không phải là khách hàng làm việc thư mục.

Định dạng tệp

Định dạng văn bản

khiCopyđược sử dụng mà không có Tùy chọn nhị phân, tệp đọc hoặc viết là một tệp văn bản với một dòng trên mỗi hàng hàng. Các cột (thuộc tính) trong một hàng được phân tách bởi nhân vật Delimiter. Các giá trị thuộc tính là chính họ là chuỗi được tạo bởi hàm đầu ra hoặc được chấp nhận cho Hàm đầu vào, của mỗi loại dữ kèo bóng đá hôm nay và ngày mai của thuộc tính. Quy định Chuỗi null-giá trị được sử dụng thay cho các thuộc tính là null.kèo bóng đá hôm nay và ngày mai từsẽ gây ra lỗi nếu có dòng của tệp đầu vào chứa nhiều cột hơn hoặc ít hơn so với hy vọng.

Nếu OID được chỉ định, OID được đọc hoặc viết dưới dạng Cột đầu tiên, trước các cột dữ kèo bóng đá hôm nay và ngày mai người dùng. (Một lỗi là được nâng lên nếu OIDS được chỉ định cho một bảng không có Oids.)

Kết thúc dữ kèo bóng đá hôm nay và ngày mai có thể được biểu diễn bằng một dòng duy nhất có chứa Chỉ có thời gian lùi lại (\.). MỘT Điểm đánh dấu cuối cùng không cần thiết khi đọc từ một unix Tệp, kể từ khi kết thúc tệp phục vụ hoàn toàn tốt; Nhưng một kết thúc Đánh dấu phải được cung cấp khi kèo bóng đá hôm nay và ngày mai dữ liệu đến hoặc từ máy khách ứng dụng.

ký tự Backslash (\) có thể được sử dụng trongCopyDữ kèo bóng đá hôm nay và ngày mai để trích dẫn dữ kèo bóng đá hôm nay và ngày mai các ký tự có thể được coi là hàng hoặc cột phân định. Cụ thể, các ký tự sauphảiđược đi trước bởi a Backslash Nếu chúng xuất hiện như kèo bóng đá hôm nay và ngày mai phần của giá trị thuộc tính: Breakslash, Newline và dấu phân cách hiện tại tính cách.

Các chuỗi ngược đặc biệt sau đây được công nhận bởikèo bóng đá hôm nay và ngày mai từ:

chuỗi đại diện
\ B Backspace (ASCII 8)
\ f Form Feed (ASCII 12)
\ n Newline (ASCII 10)
\ r Trở lại vận chuyển (ASCII 13)
\ T Tab (ASCII 9)
\ V Tab dọc (ASCII 11)
\chữ số Backslash theo sau là kèo bóng đá hôm nay và ngày mai đến ba chữ số bát phân Chỉ định ký tự bằng mã số đó
Hiện tại,kèo bóng đá hôm nay và ngày mai vàoSẽ không bao giờ phát ra kèo bóng đá hôm nay và ngày mai chuỗi dấu gạch chéo ngược các chữ số bát diện, nhưng nó sử dụng Các chuỗi khác được liệt kê ở trên cho các ký tự điều khiển đó.

Không bao giờ đặt dấu gạch chéo ngược trước ký tự dữ kèo bóng đá hôm nay và ngày mainhoặc giai đoạn (.). Như là các cặp sẽ bị nhầm với chuỗi null mặc định hoặc Điểm đánh dấu cuối cùng, tương ứng. Bất kỳ dấu gạch chéo ngược nào khác nhân vật không được đề cập trong bảng trên sẽ được thực hiện để thể hiện chính nó.

Người ta khuyến nghị các ứng dụng tạo bản kèo bóng đá hôm nay và ngày mai Dữ liệu chuyển đổi dữ liệu Newlines và vận chuyển trở lại\ n\ rTrình tự tương ứng. Hiện tại (PostgreSQL7.2 trở lên phiên bản) có thể đại diện cho việc trả lại vận chuyển dữ kèo bóng đá hôm nay và ngày mai mà không cần bất kỳ Trích dẫn đặc biệt và để đại diện cho một dữ kèo bóng đá hôm nay và ngày mai newline bằng một dấu gạch chéo ngược và Newline. Tuy nhiên, những đại diện này sẽ không được chấp nhận theo mặc định trong các bản phát hành trong tương lai.

Lưu ý rằng phần cuối của mỗi hàng được đánh dấu bằng kiểu UNIX Newline ("\ n"). Hiện tại,kèo bóng đá hôm nay và ngày mai từsẽ không hoạt động như mong muốn nếu được cung cấp kèo bóng đá hôm nay và ngày mai tệp chứa dos- hoặc Các dòng mới theo phong cách Mac. Điều này dự kiến ​​sẽ thay đổi trong tương lai phát hành.

Định dạng nhị phân

Định dạng tệp được sử dụng chokèo bóng đá hôm nay và ngày mai Nhị phânĐã thay đổi trongPostgreSQLV7.1. Định dạng mới bao gồm của một tiêu đề tệp, không có hoặc nhiều bộ dữ kèo bóng đá hôm nay và ngày mai và một đoạn giới thiệu tệp.

Tiêu đề tệp

Tiêu đề tệp bao gồm 24 byte của các trường cố định, tiếp theo là kèo bóng đá hôm nay và ngày mai khu vực mở rộng tiêu đề có độ dài thay đổi. Các Các trường cố định là:

Chữ ký

chuỗi 12 bytepgbcopy \ n \ 377 \ r \ n \ 0--- lưu ý rằng NULL là kèo bóng đá hôm nay và ngày mai phần cần thiết của chữ ký. (The Chữ ký được thiết kế để cho phép xác định dễ dàng Các tệp đã bị MUNGED bởi kèo bóng đá hôm nay và ngày mai người không sạch sẽ chuyển khoản. Chữ ký này sẽ được thay đổi bởi Các bộ lọc dịch chuyển mới, bỏ rơi, rơi BIT cao hoặc thay đổi chẵn lẻ.)

Trường Bố cục Số nguyên

Int32 hằng số 0x01020304 theo thứ tự byte của nguồn. Có khả năng, kèo bóng đá hôm nay và ngày mai độc giả có thể tham gia vào byte của Các trường tiếp theo nếu phát hiện thứ tự byte sai đây.

Trường cờ

Mặt nạ bit int32 để biểu thị các khía cạnh quan trọng của Định dạng tệp. Bit được đánh số từ 0 (LSB) đến 31 (MSB) --- Lưu ý rằng trường này là được lưu trữ với sự thay đổi của nguồn, cũng như tất cả sau đó Trường số nguyên. Bit 16-31 được bảo lưu để biểu thị Các vấn đề định dạng tệp quan trọng; kèo bóng đá hôm nay và ngày mai người đọc nên hủy bỏ nếu Nó tìm thấy kèo bóng đá hôm nay và ngày mai bit bất ngờ được đặt trong phạm vi này. BIT 0-15 được bảo lưu để tín hiệu định dạng tương thích ngược vấn đề; kèo bóng đá hôm nay và ngày mai người đọc chỉ nên bỏ qua bất kỳ bất ngờ BITS đặt trong phạm vi này. Hiện tại chỉ có kèo bóng đá hôm nay và ngày mai bit cờ là được xác định và phần còn lại phải bằng không:

bit 16

Nếu 1, oids được bao gồm trong bãi rác; Nếu 0, không

Độ dài diện tích mở rộng tiêu đề

độ dài int32 trong byte còn lại của tiêu đề, không bao gồm cả bản thân. Trong phiên bản ban đầu, điều này sẽ Không, và bộ tuple đầu tiên theo sau ngay lập tức. Tương lai Các thay đổi theo định dạng có thể cho phép dữ kèo bóng đá hôm nay và ngày mai bổ sung hiện diện trong tiêu đề. Một người đọc nên âm thầm bỏ qua Trên bất kỳ dữ kèo bóng đá hôm nay và ngày mai mở rộng tiêu đề nào, nó không biết phải làm gì làm với.

Vùng mở rộng tiêu đề được hình dung để chứa kèo bóng đá hôm nay và ngày mai Trình tự các khối tự nhận dạng. Trường Cờ không dự định nói với độc giả những gì trong khu vực mở rộng. Thiết kế cụ thể của nội dung mở rộng tiêu đề được để lại cho kèo bóng đá hôm nay và ngày mai Phát hành sau.

Thiết kế này cho phép cả tiêu đề tương thích ngược Bổ sung (Thêm phần mở rộng tiêu đề hoặc đặt cờ bậc thấp BITS) và các thay đổi không tương thích không phù hợp (đặt thứ tự cao cờ các bit để báo hiệu những thay đổi đó và thêm dữ kèo bóng đá hôm nay và ngày mai hỗ trợ vào khu vực mở rộng nếu cần).

Tuples

Mỗi tuple bắt đầu với số lượng int16 của số lượng Các lĩnh vực trong tuple. (Hiện tại, tất cả các bộ dữ kèo bóng đá hôm nay và ngày mai trong bàn sẽ Có cùng một số lượng, nhưng điều đó có thể không phải lúc nào cũng đúng.) Sau đó, lặp lại cho mỗi trường trong tuple, có một int16TyplenWord có thể theo sau là Dữ kèo bóng đá hôm nay và ngày mai hiện trường. TheTyplenTrường là được giải thích như vậy:

Zero

Trường là null. Không có dữ kèo bóng đá hôm nay và ngày mai theo sau.

0

Trường là loại dữ kèo bóng đá hôm nay và ngày mai có độ dài cố định. Chính xác n byte của dữ kèo bóng đá hôm nay và ngày mai theoTyplenWord.

-1

Trường làVarlenaDữ kèo bóng đá hôm nay và ngày mai kiểu. Bốn byte tiếp theo làVarlenaTiêu đề, chứa tổng số Độ dài giá trị bao gồm chính nó.

<-1

dành riêng cho việc sử dụng trong tương lai.

Đối với các trường không phải null, người đọc có thể kiểm tra xem có phảiTyplenphù hợp với dự kiếnTyplencho đích cột. Điều này cung cấp một kiểm tra đơn giản nhưng rất hữu ích cho thấy dữ kèo bóng đá hôm nay và ngày mai như mong đợi.

Không có phần đệm căn chỉnh hoặc bất kỳ dữ kèo bóng đá hôm nay và ngày mai bổ sung nào khác giữa các lĩnh vực. Cũng lưu ý rằng định dạng không phân biệt xem một kiểu dữ kèo bóng đá hôm nay và ngày mai có được chuyển qua từng tài kèo bóng đá hôm nay và ngày mai hay không qua giá trị. Cả hai điều khoản này đều có chủ ý: họ có thể giúp cải thiện tính di động của các tệp (mặc dù Khóa học các vấn đề về độ cuối và định dạng điểm nổi vẫn có thể Giữ cho bạn không di chuyển một tệp nhị phân trên các máy).

Nếu OID được bao gồm trong bãi rác, trường OID Ngay lập tức theo từ số đồng trường. Nó là kèo bóng đá hôm nay và ngày mai bình thường Trường ngoại trừ việc nó không được bao gồm trong số đồng hồ. TRONG đặc biệt nó có kèo bóng đá hôm nay và ngày maiTyplen--- Điều này sẽ cho phép xử lý các oids 4 byte so với 8 byte mà không cần nhiều nỗi đau, và sẽ cho phép các OID được thể hiện là NULL nếu điều đó từng được chứng minh là mong muốn.

Đoạn giới thiệu tập tin

Trailer tệp bao gồm kèo bóng đá hôm nay và ngày mai từ int16 chứa -1. Điều này dễ dàng được phân biệt với số lần đếm trường của kèo bóng đá hôm nay và ngày mai tuple từ.

Người đọc sẽ báo cáo lỗi nếu từ số đặt trường Không -1 và số lượng cột dự kiến. Điều này cung cấp một kiểm tra bổ sung chống lại bằng cách nào đó thoát khỏi sự đồng bộ với dữ kèo bóng đá hôm nay và ngày mai.

sử dụng

Ví dụ sau đây kèo bóng đá hôm nay và ngày mai bảng thành đầu ra tiêu chuẩn, sử dụng một thanh dọc (|) là dấu phân cách trường:

kèo bóng đá hôm nay và ngày mai quốc gia thànhstdoutvới Delimiter '|';

Để kèo bóng đá hôm nay và ngày mai dữ liệu từ tệp Unix vàoQuốc giaBảng:

kèo bóng đá hôm nay và ngày mai quốc gia từ '/usr1/proj/bray/sql/country_data';

Đây là một mẫu dữ liệu phù hợp để kèo bóng đá hôm nay và ngày mai vào bảng từstdin(Vì vậy, nó có sự chấm dứt Trình tự trên dòng cuối cùng):

Afghanistan
Al Albania
DZ Algeria
ZM Zambia
ZW Zimbabwe
\.

Lưu ý rằng khoảng trắng trên mỗi dòng thực sự là kèo bóng đá hôm nay và ngày mai tab.

Sau đây là cùng một dữ kèo bóng đá hôm nay và ngày mai, đầu ra ở định dạng nhị phân trên A Máy Linux/i586. Dữ kèo bóng đá hôm nay và ngày mai được hiển thị sau khi lọc qua UNIX Tiện íchOD -C. Bảng có ba lĩnh vực; Đầu tiên làchar (2), thứ hai làTextvà thứ ba làSố nguyên. Tất cả các hàng có giá trị null trong lần thứ ba cánh đồng.

0000000 p g b c o p y \ n 377 \ r \ n \ 0 004 003 002 001
0000020 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 003 \ 0 377 377 006 \ 0 \ 0 \ 0
0000040 A F 377 377 017 \ 0 \ 0 \ 0 A F G H A N I S
0000060 t a n \ 0 \ 0 003 \ 0 377 377 006 \ 0 \ 0 \ 0 a l 377
0000100 377 \ v \ 0 \ 0 \ 0 a l b a n i a \ 0 \ 0 003 \ 0
0000120 377 377 006 \ 0 \ 0 \ 0 D Z 377 377 \ V \ 0 \ 0 \ 0 A L
0000140 g e r i a \ 0 \ 0 003 \ 0 377 377 006 \ 0 \ 0 \ 0 Z
0000160 m 377 377 \ n \ 0 \ 0 \ 0 z a m b i a \ 0 \ 0 003
0000200 \ 0 377 377 006 \ 0 \ 0 \ 0 Z W 377 377 \ f \ 0 \ 0 \ 0 Z Z
0000220 I M B A B W E \ 0 \ 0 377 377

Tương thích

SQL92

Không cóCopyCâu lệnh trong SQL92.

Cú pháp sau được sử dụng bởi các ứng dụng trước 7.3 và IS vẫn được hỗ trợ:

kèo bóng đá hôm nay và ngày mai [nhị phân]Bảng[Với OIDS]
        TỪ  'FileName' |stdin[[Sử dụng] Delimiters 'Delimiter' ]
        [Với null là 'NULL Chuỗi' ]
    kèo bóng đá hôm nay và ngày mai [nhị phân]Bảng[Với OIDS]
        ĐẾN  'FileName' |stdout[[Sử dụng] Delimiters 'Delimiter' ]
        [Với null là 'NULL String' ]