kèo bóng đá euro [nhị phân]Bảng[với OIDS] TỪ 'FileName' |stdin[[Sử dụng] Delimiters 'Delimiter' ] [Với null là 'NULL String' ] kèo bóng đá euro [nhị phân]Bảng[với OIDS] ĐẾN 'FileName' |stdout[[Sử dụng] Delimiters 'Delimiter' ] [Với null là 'Chuỗi null' ]
Thay đổi hành vi của định dạng trường, buộc tất cả dữ kèo bóng đá euro sẽ được lưu trữ hoặc đọc ở định dạng nhị phân chứ không phải là chữ. Các phân định và với các tùy chọn null là không liên quan cho định dạng nhị phân.
Tên của kèo bóng đá euro bảng hiện có.
Chỉ định kèo bóng đá euro ID đối tượng bên trong (OID) cho mỗi hàng.
Tên đường dẫn UNIX tuyệt đối của đầu vào hoặc đầu ra tài kèo bóng đá euro.
Chỉ định đầu vào đó đến từ máy khách ứng dụng.
Chỉ định rằng đầu ra đó được chuyển đến máy khách ứng dụng.
ký tự phân tách các trường trong mỗi hàng (dòng) của tệp.
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 đá euro chuỗi trống.
Lưu ý:Trên một bản kèo bóng đá euro, 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 đá euro.
Copydi chuyển dữ kèo bóng đá euro giữaPostgreSQLBảng và hệ thống tệp tiêu chuẩn Tệp.kèo bóng đá euro vàokèo bóng đá euro toàn bộ nội dung của một bảng vào một tệp, trong khikèo bóng đá euro từkèo bóng đá euro dữ liệu từ tệp sang bảng (thêm dữ liệu vào bất cứ điều gì trong bảng rồi).
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 đá euro 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 đá euro chảy qua máy khách frontend đến phụ trợ.
Tip:Không nhầm lẫnCopyvớiPSQLHướng dẫn\ Copy. \ CopyGọikèo bóng đá euro từ Stdinhoặckèo bóng đá euro vào stdout, và sau đó tìm kiếm/lưu trữ dữ kèo bóng đá euro trong một tệp có thể truy cập vàoPSQLKhách hàng. Do đó, khả năng truy cập tệp và quyền truy cập phụ thuộc vào khách hàng hơn là phụ trợ khi\ Copyđược sử dụng.
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 đá euro bình thường, nhưng tệp kèo bóng đá euro 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 đá euro 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 cụm từ khóa bằng cách sử dụng Phân định. Ký tự trong các trường dữ liệu xảy ra để phù hợp với Nhân vật Delimiter sẽ được trích dẫn.
Bạn phải cóChọn AccessTrên bất kỳ bảng có giá trị được đọc bởiCopy, và hoặcChènhoặcCập nhật truy cậpđến kèo bóng đá euro bảng mà các giá trị là được chèn bởiCopy. Phần phụ trợ cũng vậy Cần các quyền Unix thích hợp cho bất kỳ tệp hoặc viết được đọc quaCopy.
kèo bóng đá euro vàoKhông gọi các quy tắc cũng không hành động trên các mặc định cột. Nó không gọi các kích hoạt và kiểm tra hạn chế.
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 đá euro từ, nhưng mối quan hệ đích sẽ đã nhận được các hàng trước đó trong kèo bóng đá eurokèo bóng đá euro ĐẾN. Những hàng này sẽ không hiển thị hoặc có thể truy cập được, nhưng chúng Vẫn chiếm không gian đĩa. Điều này có thể lên tới một Lượng không gian đĩa lãng phí nếu sự cố xảy ra tốt vào một Hoạt động bản kèo bóng đá euro lớn. Bạn có thể muốn gọiVACUUMĐể phục hồi không gian lãng phí.
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 đá euro, 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 a Tệp chỉ được phép cho các siêu nhân cơ sở dữ kèo bóng đá euro, 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 đá euro đườ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 đá euro thành, nhưng chokèo bóng đá euro từBạn có tùy chọn đọc từ kèo bóng đá euro tệp được chỉ định bởi kèo bóng đá euro đường dẫn tương đối. Con đường sẽ được giải thích so với 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.
KhiCopyđược sử dụng mà không có nhị phân Tùy chọn, tệp được đọc hoặc viết là một tệp văn bản có 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ằng nhân vật phân định. 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 đá euro 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 VÔ GIÁ TRỊ.
Nếu với OID được chỉ định, OID được đọc hoặc viết là Cột đầu tiên, trước các cột dữ kèo bóng đá euro người dùng. (Một lỗi là được nâng lên nếu với OID được chỉ định cho một bảng không có Oids.)
Kết thúc dữ kèo bóng đá euro 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 đá euro 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 đá euro để trích dẫn dữ kèo bóng đá euro 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 đá euro 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 đá euro 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 đá euro đến ba chữ số bát phân Chỉ định ký tự bằng mã số đó |
Không bao giờ đặt dấu gạch chéo ngược trước ký tự dữ kèo bóng đá euronhoặ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ó.
Chúng tôi khuyên bạn nên tạo bản kèo bóng đá euro các ứng dụng Dữ liệu chuyển đổi dữ liệu Newlines và vận chuyển trở lại\ nvà\ 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 đá euro 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 đá euro 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 đá euro từsẽ không hoạt động như mong muốn nếu được cung cấp kèo bóng đá euro 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 tệp được sử dụng chokèo bóng đá euro nhị phânĐã thay đổi trongPostgreSQLV7.1. Định dạng mới bao gồm một tiêu đề tệp, không hoặc nhiều bộ dữ kèo bóng đá euro, và một đoạn giới thiệu tập tin.
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 đá euro khu vực mở rộng tiêu đề có độ dài thay đổi. Các Các trường cố định là:
chuỗi 12 bytepgbcopy \ n \ 377 \ r \ n \ 0--- lưu ý rằng NULL là kèo bóng đá euro 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 đá euro 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ẻ.)
Int32 hằng số 0x01020304 theo thứ tự byte của nguồn. Có khả năng, kèo bóng đá euro độ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.
Mặt nạ bit int32 để biểu thị các khía cạnh quan trọng của Định dạng tệp. Các bit được đánh số từ 0 (LSB) đến 31 (MSB) --- Lưu ý rằng trường này được lưu trữ với nguồn Endianness, như tất cả các trường số nguyên tiếp theo. Bit 16-31 được bảo lưu để biểu thị định dạng tệp quan trọng vấn đề; kèo bóng đá euro người đọc nên hủy bỏ nếu nó tìm thấy kèo bóng đá euro Bit đặt trong phạm vi này. Bit 0-15 được bảo lưu để tín hiệu Các vấn đề định dạng tương thích ngược; kèo bóng đá euro người đọc nên Chỉ cần bỏ qua bất kỳ bit bất ngờ được đặt trong phạm vi này. Hiện tại chỉ có kèo bóng đá euro bit cờ được xác định và phần còn lại Phải bằng không:
Nếu 1, oids được bao gồm trong bãi rác; Nếu 0, không
độ 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 đá euro 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 đá euro 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 là chứa kèo bóng đá euro 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 đá euro 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 đá euro hỗ trợ vào khu vực mở rộng nếu cần).
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 đá euro 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 int16 Typlen Word có thể theo sau là dữ kèo bóng đá euro trường. Trường Typlen được giải thích như vậy:
Trường là null. Không có dữ kèo bóng đá euro theo sau.
Trường là loại dữ kèo bóng đá euro có độ dài cố định. Chính xác n byte của dữ kèo bóng đá euro theo từ Typlen.
Trường là loại dữ kèo bóng đá euro Varlena. Bốn byte tiếp theo là tiêu đề varlena, chứa tổng giá trị độ dài bao gồm chính nó.
dành riêng cho việc sử dụng trong tương lai.
Đối với các trường không null, người đọc có thể kiểm tra xem Typlen khớp với typlen dự kiến cho cột đích. Cái này cung cấp một kiểm tra đơn giản nhưng rất hữu ích rằng dữ kèo bóng đá euro là hy vọng.
Không có phần đệm căn chỉnh hoặc bất kỳ dữ kèo bóng đá euro 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 đá euro có được chuyển qua từng tài kèo bóng đá euro 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 đá euro 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 đá euro typlen --- điều này sẽ cho phép xử lý 4 byte vs 8 byte oids mà không có quá nhiều đau đớn, và sẽ cho phép Oids được hiển thị là null nếu điều đó được chứng minh là mong muốn.
Trailer tệp bao gồm kèo bóng đá euro 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 đá euro tuple từ.
Một người đọc nên báo cáo lỗi nếu một từ tính 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 đá euro.
Ví dụ sau đây kèo bóng đá euro 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 đá euro quốc gia vàostdoutSử dụng Delimiters '|';
Để kèo bóng đá euro dữ liệu từ tệp Unix vào một quốc gia bảng:
kèo bóng đá euro 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 đá euro 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):
AF 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 đá euro tab.
Sau đây là cùng một dữ kèo bóng đá euro, đầu ra ở định dạng nhị phân trên A Máy Linux/i586. Dữ kèo bóng đá euro đượ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