cách đọc kèo bóng đá [nhị phân]Bảng[với OIDS] TỪ 'FileName' |stdin[Sử dụng Delimiter 'Delimiter' ] cách đọc kèo bóng đá [nhị phân]Bảng[với OIDS] ĐẾN 'FileName' |stdout[Sử dụng Delimiter 'Delimiter' ]
Thay đổi hành vi của định dạng trường, buộc tất cả dữ cách đọc kèo bóng đá sẽ được lưu trữ hoặc đọc dưới dạng đối tượng nhị phân chứ không phải là chữ.
Tên của cách đọc kèo bóng đá bảng hiện có.
cách đọc kèo bóng đá id đối tượng duy nhất bên trong (oid) cho mỗi hàng ngang.
Tên đường dẫn UNIX tuyệt đối của đầu vào hoặc đầu ra tài cách đọc kèo bóng đá.
Chỉ định rằng đầu vào đến từ đường ống hoặc thiết bị đầu cuối.
Chỉ định rằng đầu ra đó đi vào đường ống hoặc thiết bị đầu cuối.
cách đọc kèo bóng đá ký tự phân định đầu vào hoặc đầu ra các trường.
Bản cách đọc kèo bóng đá đã hoàn thành thành công.
Bản cách đọc kèo bóng đá không thành công vì lý do đã nêu trong lỗi tin nhắn.
Copydi chuyển dữ cách đọc kèo bóng đá giữaPostgresBảng và tệp UNIX tiêu chuẩn.
CopyHướng dẫnPostgresphụ trợ để đọc trực tiếp từ hoặc ghi vào cách đọc kèo bóng đá tập tin. Tệp phải được hiển thị trực tiếp cho phần phụ trợ và tên phải được chỉ định từ quan điểm của phần phụ trợ. Nếu nhưstdinhoặcstdoutđược chỉ định, dữ cách đọc kèo bóng đá chảy qua máy khách frontend đến phụ trợ.
Từ khóa nhị phân sẽ buộc tất cả dữ liệu được lưu trữ/đọc là Đối tượ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 cách đọc kèo bóng đá thông thường, nhưng thường không thể di động và Các tệp được tạo ra có phần lớn hơn, mặc dù yếu tố này là phụ thuộc cao vào chính dữ liệu. Theo mặc định, một bản sao văn bản sử dụng ký tự tab ("\ t") làm dấu phân cách. Phân định có thể cũng được thay đổi thành bất kỳ ký tự đơn nào khác với từ khóa Cụm từ sử dụng Delimiter. Ký tự trong các trường dữ liệu xảy ra Để phù hợp với ký tự phân cách sẽ được trích dẫn.
Bạn phải chọn truy cập trên bất kỳ bảng nào có giá trị Đọc bởiCopy, và chèn hoặc Cập nhật quyền truy cập vào bảng mà các giá trị đang được chèn quaCopy. Phần phụ trợ cũng cần Quyền Unix thích hợp cho bất kỳ tệp nào được đọc hoặc viết bởiCopy.
cụm từ khóa sử dụng Delimiters Chỉ định cách đọc kèo bóng đá ký tự được sử dụng cho tất cả các phân định giữa các cột. Nếu như Nhiều ký tự được chỉ định trong chuỗi phân cách, chỉ ký tự đầu tiên được sử dụng.
Tip:Không nhầm lẫnCopyvớiPSQLHướng dẫn\ Copy.
Khicách đọc kèo bóng đá vàođược sử dụng mà không có Tùy chọn nhị phân, tệp được tạo sẽ có từng hàng (ví dụ) trên cách đọc kèo bóng đá dòng duy nhất, với mỗi cột (thuộc tính) được phân tách bởi nhân vật phân định. Ký tự phân cách nhúng sẽ là trước cách đọc kèo bóng đá ký tự dấu gạch chéo ngược ("\"). Các giá trị thuộc tính bản thân chúng là các chuỗi được tạo bởi chức năng đầu ra liên kết với mỗi loại thuộc tính. Chức năng đầu ra cho cách đọc kèo bóng đá Loại không nên cố gắng tạo ký tự dấu gạch chéo ngược; cái này sẽ được xử lý bởiCopychính nó.
Định dạng thực tế cho mỗi trường hợp là
phân tách<attr2 <phân tách... <phân tách<attrn<NENLINEOID được đặt ở đầu dòng nếu có OIDS được chỉ định.
nếuCopyđang gửi đầu ra của nó đến đầu ra tiêu chuẩn thay vì cách đọc kèo bóng đá tệp, nó sẽ gửi Backslash ("\") và cách đọc kèo bóng đá khoảng thời gian (".") theo sau cách đọc kèo bóng đá Newline, trên cách đọc kèo bóng đá dòng riêng biệt, khi nó được thực hiện. Tương tự, nếuCopyđang đọc từ đầu vào tiêu chuẩn, nó sẽ mong đợi cách đọc kèo bóng đá dấu gạch chéo ngược ("\") và cách đọc kèo bóng đá khoảng thời gian (".") theo sau là cách đọc kèo bóng đá Newline, là ba ký tự đầu tiên trên cách đọc kèo bóng đá dòng biểu thị Kết thúc tập tin. Tuy nhiên,CopyWill chấm dứt (theo sau là chính phụ trợ) nếu cách đọc kèo bóng đá EOF thực sự gặp phải trước khi mẫu cuối tập tin đặc biệt này là thành lập.
ký tự dấu gạch chéo ngược có ý nghĩa đặc biệt khác. VÔ GIÁ TRỊ Các thuộc tính được đầu ra là "\ n". cách đọc kèo bóng đá nhân vật ngược dòng theo nghĩa đen là đầu ra dưới dạng hai dấu gạch chéo liên tiếp ("\"). cách đọc kèo bóng đá tab theo nghĩa đen ký tự được thể hiện dưới dạng dấu gạch chéo ngược và cách đọc kèo bóng đá tab. cách đọc kèo bóng đá nghĩa đen Nhân vật Newline được thể hiện dưới dạng dấu gạch chéo ngược và cách đọc kèo bóng đá dòng mới. Khi tải dữ liệu văn bản không được tạo bởiPostgres, bạn sẽ cần phải chuyển đổi Backslash các ký tự ("\") thành hai lần đánh dấu ("\") để đảm bảo rằng Chúng được tải đúng cách đọc kèo bóng đá.
Trong trường hợpcách đọc kèo bóng đá nhị phân, đầu tiên Bốn byte trong tệp sẽ là số lượng phiên bản trong tài cách đọc kèo bóng đá. Nếu số này bằng không,cách đọc kèo bóng đá Nhị phânLệnh sẽ đọc cho đến khi gặp phải kết thúc tệp. Nếu không, nó sẽ ngừng đọc khi số lượng trường hợp này đã được đọc. Dữ cách đọc kèo bóng đá còn lại trong tệp sẽ bị bỏ qua.
Định dạng cho mỗi trường hợp trong tệp như sau. Ghi chú rằng định dạng này phải được tuân theochính xác. Số lượng số nguyên bốn byte không dấu được gọi là uint32 trong bảng bên dưới.
Bảng 19-1. Nội dung của tệp cách đọc kèo bóng đá nhị phân
Khi bắt đầu của tệp | |
UINT32 | Số lượng bộ dữ cách đọc kèo bóng đá |
cho mỗi Tuple | |
UINT32 | Tổng chiều dài của tuple Dữ cách đọc kèo bóng đá |
UINT32 | oid (nếu được chỉ định) |
UINT32 | Số lượng null thuộc tính |
[UINT32, ..., UINT32] | Số thuộc tính của thuộc tính, đếm từ 0 |
- | <Tuple Data |
Trên Sun-3s, các thuộc tính 2 byte được căn chỉnh trên hai byte ranh giới và tất cả các thuộc tính lớn hơn được căn chỉnh trên bốn byte ranh giới. Thuộc tính ký tự được căn chỉnh trên cách đọc kèo bóng đá byte ranh giới. Trên hầu hết các máy khác, tất cả các thuộc tính lớn hơn 1 byte được căn chỉnh trên ranh giới bốn byte. Lưu ý biến đó Các thuộc tính độ dài được đi trước bởi độ dài của thuộc tính; Các mảng chỉ đơn giản là các luồng tiếp giáp của phần tử mảng kiểu.
Ví dụ sau đây cách đọc kèo bóng đá 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:
cách đọc kèo bóng đá quốc gia vàostdoutSử dụng Delimiters '|';
Để cách đọc kèo bóng đá dữ liệu từ tệp Unix vào bảng "Quốc gia":
cách đọc kèo bóng đá quốc gia từ '/usr1/proj/bray/sql/country_data';
Đây là một mẫu dữ liệu phù hợp để cách đọc kèo bóng đá 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 \.
cùng cách đọc kèo bóng đá dữ liệu, đầu ra ở định dạng nhị phân trên Linux/i586 máy móc. Dữ liệu được hiển thị sau khi lọc qua Unix tính thiết thựcOD -C. Bảng có ba lĩnh vực; Đầu tiên làchar (2)và thứ hai làText. Tất cả các hàng đều có giá trị null Trong lĩnh vực thứ ba. Lưu ý cách đọc kèo bóng đáchar (2)Trường được đệm với nulls đến bốn byte và trường văn bản đi trước chiều dài của nó:
355 \ 0 \ 0 \ 0 027 \ 0 \ 0 \ 0 001 \ 0 \ 0 \ 0 002 \ 0 \ 0 \ 0 006 \ 0 \ 0 \ 0 A F \ 0 \ 0 017 \ 0 \ 0 \ 0 A F G H A n i s t a n 023 \ 0 \ 0 \ 0 001 \ 0 \ 0 \ 0 002 \ 0 \ 0 \ 0 006 \ 0 \ 0 \ 0 a l \ 0 \ 0 \ v \ 0 \ 0 \ 0 a L b a n i a 023 \ 0 \ 0 \ 0 001 \ 0 \ 0 \ 0 002 \ 0 \ 0 \ 0 006 \ 0 \ 0 \ 0 D Z \ 0 \ 0 \ V \ 0 \ 0 \ 0 A L G e r i a ... \ n \ 0 \ 0 \ 0 z a m b i a 024 \ 0 \ 0 \ 0 001 \ 0 \ 0 \ 0 002 \ 0 \ 0 \ 0 006 \ 0 \ 0 \ 0 Z W \ 0 \ 0 \ f \ 0 \ 0 \ 0 z i m b a b w e
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ợpcách đọc kèo bóng đá từ, nhưng mối quan hệ đích sẽ, Tất nhiên, được sửa đổi cách đọc kèo bóng đá phần trong cách đọc kèo bóng đácách đọc kèo bóng đá ĐẾN. TheVACUUMTruy vấn nên được sử dụng để Dọn dẹp sau một bản cách đọc kèo bóng đá thất bại.
Vì thư mục làm việc hiện tại của Postgres thường không giống như thư mục làm việc của người dùng, kết quả cách đọc kèo bóng đá vào một tệp "foo"(không có thông tin đường dẫn bổ sung) có thể mang lại kết quả bất ngờ cho Người dùng ngây thơ. Trong trường hợp này,fooWill Wind lên trong$ pgdata/foo. Nói chung, đầy đủ tên pathName vì nó sẽ xuất hiện vào máy chủ phụ trợ nên được sử dụng khi chỉ định các tệp được cách đọc kèo bóng đá.
Các tệp được sử dụng làm đối số choCopyPhải nằm trên hoặc có thể truy cập vào máy chủ cơ sở dữ cách đọc kèo bóng đá bằng cách là trên các đĩa cục bộ hoặc trên hệ thống tệp được nối mạng.
Khi kết nối TCP/IP từ máy này sang máy khác được sử dụng, và tệp đích được chỉ định, tệp đích sẽ được viết trên máy nơi phần phụ trợ đang chạy chứ không phải Máy của người dùng.
Không cóCopyCâu lệnh trong SQL92.