CopyTable_Name[(Cột_name10379_10406FileName' | CHƯƠNG TRÌNH 'lệnh' | Stdin
[ [ VỚI ] (Tùy chọn[, ...])]]
kèo bóng đá c1Table_Name[(Cột_name[, ...])] | (Truy vấn)
ĐẾN 'FileName' | CHƯƠNG TRÌNH 'lệnh' | Stdout
[ [ VỚI ] (Tùy chọn[, ...])]WHERETùy chọncó thể là kèo bóng đá c1 trong số:Định dạngformat_nameoids [Boolean]
ĐÔNG CỨNG [Boolean]
DELIMITER 'Delimiter_Character'
VÔ GIÁ TRỊ 'NULL_STRING'
Tiêu đề [Boolean]
TRÍCH DẪN 'quote_character'
BỎ TRỐN 'Escape_character'
Force_quote (Cột_name[, ...]) | *
Force_not_null (Cột_name11620_11650Cột_name[, ...])
Mã hóa 'mã hóa_name'
CopyDi chuyển dữ kèo bóng đá c1 giữaPostgreSQLBảng và tệp hệ thống tệp tiêu chuẩn.kèo bóng đá c1 vàokèo bóng đá c1 nội dung của bảngđếnkèo bóng đá c1 tệp, trong khikèo bóng đá c1 từBản sao dữ kèo bóng đá c1từMột tệp vào bảng (nối dữ kèo bóng đá c1 vào bất cứ thứ gì trong bảng rồi).kèo bóng đá c1 vàocũng có thể kèo bóng đá c1 kết quả của AChọnTruy vấn.
Nếu kèo bóng đá c1 danh sách cột được chỉ định,kèo bóng đá c1 vàochỉ kèo bóng đá c1 dữ liệu trong các cột được chỉ định vào tệp. Vìkèo bóng đá c1 từ, mỗi trường trong tệp được chèn, theo thứ tự, vào cột được chỉ định. Các cột bảng không được chỉ định trongkèo bóng đá c1 từDanh sách cột sẽ nhận được giá trị mặc định của chúng.
CopyVới tên tệp hướng dẫnPostgreSQLMáy chủ để đọc trực tiếp hoặc ghi vào kèo bóng đá c1 tệp. Tệp phải được truy cập bởiPostgreSQLNgười dùng (ID người dùng mà máy chủ chạy như) và tên phải được chỉ định từ quan điểm của máy chủ. KhiChương trình13127_13370PostgreSQLNgười dùng. Khistdinhoặcstdoutđược chỉ định, dữ kèo bóng đá c1 được truyền qua kết nối giữa máy khách và máy chủ.
Tên (Tùy chọn Lược đồ theo trình độ) của kèo bóng đá c1 bảng hiện có.
Một danh sách các cột tùy chọn sẽ được kèo bóng đá c1. Nếu không có danh sách cột được chỉ định, tất cả các cột của bảng sẽ được kèo bóng đá c1.
AChọnhoặcGiá trịLệnh có kết quả sẽ được kèo bóng đá c1. Lưu ý rằng dấu ngoặc đơn được yêu cầu xung quanh truy vấn.
Tên đường dẫn của tệp đầu vào hoặc đầu ra. Tên tệp đầu vào có thể là kèo bóng đá c1 đường dẫn tuyệt đối hoặc tương đối, nhưng tên tệp đầu ra phải là kèo bóng đá c1 đường dẫn tuyệt đối. Người dùng Windows có thể cần sử dụngE ''Chuỗi và gấp đôi bất kỳ dấu gạch chéo ngược nào được sử dụng trong tên đường dẫn.
kèo bóng đá c1 lệnh để thực thi. TRONGkèo bóng đá c1 từ, Đầu vào được đọc từ đầu ra tiêu chuẩn của lệnh và trongkèo bóng đá c1 vào, đầu ra được ghi vào đầu vào tiêu chuẩn của lệnh.
14866_15227
Chỉ định đầu vào đó đến từ ứng dụng máy khách.
Chỉ định đầu ra đó được chuyển đến ứng dụng máy khách.
15520_15602true, trênhoặc1Để bật tùy chọn vàSai, TẮThoặc0Để vô hiệu hóa nó. TheBoolean15866_15910TRUEđược giả định.
Chọn định dạng dữ kèo bóng đá c1 sẽ được đọc hoặc viết:Text, CSV(Giá trị phân tách bằng dấu phẩy) hoặcnhị phân. Mặc định làText.
Chỉ định kèo bóng đá c1 OID cho mỗi hàng. (Một lỗi được nêu ra nếuOIDSđược chỉ định cho một bảng không có OID hoặc trong trường hợp kèo bóng đá c1 ATruy vấn.)
Yêu cầu kèo bóng đá c1 dữ liệu với các hàng đã bị đóng băng, giống như chúng sau khi chạyNút nước đóng bănglệnh. Đây được dự định là một tùy chọn hiệu suất để tải dữ kèo bóng đá c1 ban đầu. Hàng sẽ chỉ bị đóng băng nếu bảng được tải đã được tạo hoặc cắt ngắn trong phép trừ hiện tại, không có con trỏ mở và không có ảnh chụp nhanh cũ nào được tổ chức bởi giao dịch này.
Lưu ý rằng tất cả các phiên khác sẽ ngay lập tức có thể thấy dữ kèo bóng đá c1 một khi nó đã được tải thành công. Điều này vi phạm các quy tắc bình thường của khả năng hiển thị MVCC và người dùng chỉ định sẽ nhận thức được các vấn đề tiềm ẩn mà điều này có thể gây ra.
Chỉ định ký tự tách các cột trong mỗi hàng (dòng) của tệp. Mặc định là ký tự tab ở định dạng văn bản, dấu phẩy trongCSVĐịnh dạng. Đây phải là kèo bóng đá c1 nhân vật kèo bóng đá c1 byte duy nhất. Tùy chọn này không được phép khi sử dụngnhị phânĐịnh dạng.
Chỉ định chuỗi đại diện cho giá trị null. Mặc định là\ n(Backslash-n) ở định dạng văn bản và kèo bóng đá c1 chuỗi trống chưa được trích xuất trongCSV17802_17976nhị phânĐịnh dạng.
Lưu ý:Khi sử dụngkèo bóng đá c1 từ, bất kỳ mục dữ kèo bóng đá c1 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 vớikèo bóng đá c1 vào.
Chỉ định rằng tệp chứa kèo bóng đá c1 dòng tiêu đề với tên của mỗi cột trong tệp. Trên đầu ra, dòng đầu tiên chứa các tên cột từ bảng và trên đầu vào, dòng đầu tiên bị bỏ qua. Tùy chọn này chỉ được phép khi sử dụngCSVĐịnh dạng.
Chỉ định ký tự trích dẫn được sử dụng khi giá trị dữ kèo bóng đá c1 được trích dẫn. Mặc định là kép. Đây phải là một nhân vật một byte duy nhất. Tùy chọn này chỉ được phép khi sử dụngCSVĐịnh dạng.
Chỉ định ký tự sẽ xuất hiện trước một ký tự dữ kèo bóng đá c1 phù hợp vớiQUOTE19106_19147QUOTEGiá trị (sao cho ký tự trích dẫn được nhân đôi nếu nó xuất hiện trong dữ kèo bóng đá c1). Đây phải là một nhân vật một byte duy nhất. Tùy chọn này chỉ được phép khi sử dụngCSVĐịnh dạng.
Lực lượng trích dẫn sẽ được sử dụng cho tất cả khôngnullGiá trị trong mỗi cột được chỉ định.nullđầu ra không bao giờ được trích dẫn. Nếu như*được chỉ định, không19657_19663Giá trị sẽ được trích dẫn trong tất cả các cột. Tùy chọn này chỉ được phép trongkèo bóng đá c1 vàovà chỉ khi sử dụngCSVĐịnh dạng.
Không khớp với các giá trị của các cột được chỉ định so với chuỗi null. Trong trường hợp mặc định trong đó chuỗi null trống, điều này có nghĩa là các giá trị trống sẽ được đọc dưới dạng các chuỗi có độ dài bằng không thay vì null, ngay cả khi chúng không được trích dẫn. Tùy chọn này chỉ được phép trongkèo bóng đá c1 từvà chỉ khi sử dụngCSVĐịnh dạng.
20316_20448null. Trong trường hợp mặc định trong đó chuỗi null trống, điều này chuyển đổi kèo bóng đá c1 chuỗi trống được trích dẫn thành null. Tùy chọn này chỉ được phép trongkèo bóng đá c1 từvà chỉ khi sử dụngCSVĐịnh dạng.
Chỉ định rằng tệp được mã hóa trongmã hóa_name. Nếu tùy chọn này bị bỏ qua, mã hóa máy khách hiện tại được sử dụng. Xem các ghi chú bên dưới để biết thêm chi tiết.
Khi hoàn thành thành công, Akèo bóng đá c1Lệnh trả về thẻ lệnh của biểu mẫu
CopyĐếm
TheĐếmlà số lượng hàng được kèo bóng đá c1.
Lưu ý: PSQLSẽ chỉ in thẻ lệnh này nếu lệnh khôngkèo bóng đá c1 ... vào stdouthoặc tương đươngPSQLMeta-Command\ kèo bóng đá c1 ... đến stdout. Điều này là để ngăn chặn việc nhầm lẫn thẻ lệnh với dữ kèo bóng đá c1 vừa được in.
Copy21850_21928kèo bóng đá c1 (chọn * từViewName) đến ....
CopyChỉ liên quan đến bảng cụ thể có tên; Nó không kèo bóng đá c1 dữ liệu vào hoặc từ các bảng con. Do đó, ví dụCopyBảngđếnHiển thị cùng dữ kèo bóng đá c1 vớiChọn * chỉ từBảng. Nhưngkèo bóng đá c1 (chọn * từBảng) đến ...Có thể được sử dụng để đổ tất cả dữ kèo bóng đá c1 trong hệ thống phân cấp kế thừa.
Bạn phải chọn đặc quyền trên bảng có giá trị được đọc bởikèo bóng đá c1 vàovà chèn đặc quyền vào bảng vào đó các giá trị được chèn bởikèo bóng đá c1 từ. Nó là đủ để có các đặc quyền cột trên (các) cột được liệt kê trong lệnh.
Tệp có tên trong ACopyLệnh được đọc hoặc viết trực tiếp bởi máy chủ, không phải bởi ứng dụng máy khách. Do đó, họ phải cư trú hoặc có thể truy cập vào máy chủ cơ sở dữ kèo bóng đá c1 chứ không phải máy khách. Chúng phải 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à máy chủ chạy như), không phải máy khách. Tương tự, lệnh được chỉ định vớiChương trìnhĐược thực hiện trực tiếp bởi máy chủ, không phải bởi ứng dụng máy khách, phải được thực thi bởiPostgreSQLuser.CopyĐặt tên một tệp hoặc lệnh chỉ được phép cho các siêu người dùng cơ sở dữ kèo bóng đá c1, vì nó cho phép đọc hoặc ghi bất kỳ tệp nào mà máy chủ có đặc quyền truy cập.
Không nhầm lẫnCopyvớiPSQLHướng dẫn\ Copy. \ CopyGọikèo bóng đá c1 từ Stdinhoặckèo bóng đá c1 vào stdout, sau đó tìm nạp/lưu trữ dữ kèo bóng đá c1 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 máy khách thay vì máy chủ khi\ Copyđược sử dụng.
khuyến nghị rằng tên tệp được sử dụng trongCopyLuôn luôn được chỉ định là kèo bóng đá c1 đường dẫn tuyệt đối. Điều này được thực thi bởi máy chủ trong trường hợp24335_24344, nhưng chokèo bóng đá c1 từBạn có tùy chọn đọc từ một tệp được chỉ định bởi một đường dẫn tương đối. Đường dẫn sẽ được giải thích liên quan đến thư mục làm việc của quy trình máy chủ (thông thường là thư mục dữ kèo bóng đá c1 của cụm), không phải thư mục làm việc của khách hàng.
Thực hiện lệnh vớiChương trìnhCó thể bị hạn chế bởi các cơ chế kiểm soát truy cập của hệ điều hành, chẳng hạn như Selinux.
kèo bóng đá c1 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.
CopyĐầu vào và đầu ra bị ảnh hưởng bởiDatestyle. Để đảm bảo tính di động cho người khácPostgreSQLCài đặt có thể sử dụng không mặc địnhDatestyleCài đặt,Datestylenên được đặt thànhISOTrước khi sử dụngkèo bóng đá c1 vào. Đó cũng là một ý tưởng tốt để tránh việc bán dữ kèo bóng đá c1 vớiIntervalStyleĐặt thànhSQL_STANDARD, vì các giá trị khoảng thời gian âm có thể bị hiểu sai bởi kèo bóng đá c1 máy chủ có cài đặt khác choIntervalStyle.
Dữ kèo bóng đá c1 đầu vào được giải thích theomã hóaTùy chọn hoặc mã hóa máy khách hiện tại và dữ kèo bóng đá c1 đầu ra được mã hóa trongmã hóahoặc mã hóa máy khách hiện tại, ngay cả khi dữ kèo bóng đá c1 không truyền qua máy khách nhưng được đọc từ hoặc ghi vào tệp trực tiếp bởi máy chủ.
CopyDừng hoạt động ở lỗi đầu tiên. Điều này không nên dẫn đến các vấn đề trong trường hợpkèo bóng đá c1 vào, nhưng bảng đích sẽ nhận được các hàng trước đó trong Akèo bóng đá c1 từ. Những hàng này sẽ không thể nhìn thấy 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 bị lãng phí đáng kể nếu sự thất bại xảy ra tốt trong một hoạt động kèo bóng đá c1 lớn. Bạn có thể muốn gọiNút hútĐể phục hồi không gian lãng phí.
Force_Nullvàforce_not_nullcó thể được sử dụng đồng thời trên cùng kèo bóng đá c1 cột. Điều này dẫn đến việc chuyển đổi các chuỗi null được trích dẫn thành các giá trị null và các chuỗi null chưa được trích xuất thành các chuỗi trống.
KhiTextĐịnh dạng được sử dụng, dữ kèo bóng đá c1 đọ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. Các cột trong một hàng được phân tách bằng ký tự phân cách. Bản thân các giá trị cột là các 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 đá c1 của thuộc tính. Chuỗi null được chỉ định được sử dụng thay cho các cột là null.kèo bóng đá c1 từsẽ gây ra lỗi nếu bất kỳ dòng nào của tệp đầu vào chứa nhiều cột hơn hoặc ít hơn dự kiến. Nếu nhưOIDSđượ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 đá c1 người dùng.
Kết thúc dữ kèo bóng đá c1 có thể được biểu diễn bằng một dòng duy nhất chỉ chứa Backslash-Period (\.). Một điểm đánh dấu cuối cùng là không cần thiết khi đọc từ một tệp, vì phần cuối của tệp phục vụ hoàn toàn tốt; Nó chỉ cần khi kèo bóng đá c1 dữ liệu vào hoặc từ các ứng dụng khách bằng giao thức khách hàng trước-3.0.
ký tự Backslash (\) có thể được sử dụng trongCopyDữ kèo bóng đá c1 để trích dẫn các ký tự dữ kèo bóng đá c1 có thể được lấy làm DELIMITER ROW hoặc Cột. Cụ thể, các ký tự sauphải28164_28316
Chuỗi null được chỉ định được gửi bởikèo bóng đá c1 vàomà không cần thêm bất kỳ dấu gạch chéo ngược nào; Ngược lại,kèo bóng đá c1 từkhớp với đầu vào với chuỗi null trước khi xóa dấu gạch chéo ngược. Do đó, kèo bóng đá c1 chuỗi null như\ nKhông thể bị nhầm lẫn với giá trị dữ kèo bóng đá c1 thực tế\ n(sẽ được biểu diễn dưới dạng\ n).
Trình tự ngược đặc biệt sau đây được công nhận bởikèo bóng đá c1 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) |
29382_29386 | Tab (ASCII 9) |
\ V | Tab dọc (ASCII 11) |
\chữ số | Backslash theo sau là kèo bóng đá c1 đến ba chữ số bát phân chỉ định ký tự với mã số đó |
\ xDigits | BackslashX29814_29897 |
Bất kỳ ký tự bị dấu vết nào khác không được đề cập trong bảng trên sẽ được thực hiện để thể hiện chính nó. Tuy nhiên, hãy cẩn thận với việc thêm dấu gạch chéo ngược không cần thiết, vì điều đó có thể vô tình tạo ra một chuỗi phù hợp với điểm đánh dấu dữ kèo bóng đá c1 cuối cùng (\.) hoặc chuỗi null (\ nTheo mặc định). Các chuỗi này sẽ được nhận dạng trước khi mọi xử lý ngược hoàn thành.
Được khuyến nghị mạnh mẽ rằng các ứng dụng tạoCopyDữ kèo bóng đá c1 chuyển đổi dữ kèo bóng đá c1 Newlines và vận chuyển trở lại\ nvà\ rTrình tự tương ứng. Hiện tại, có thể thể hiện lợi nhuận vận chuyển dữ kèo bóng đá c1 bằng cách trả lại và trả lại vận chuyển, và thể hiện dữ kèo bóng đá c1 Newline bằng dấu gạch chéo ngược và dòng mới. Tuy nhiên, những đại diện này có thể không được chấp nhận trong các bản phát hành trong tương lai. Họ cũng rất dễ bị tham nhũng nếukèo bóng đá c1Tệp được chuyển qua các máy khác nhau (ví dụ: từ Unix sang Windows hoặc ngược lại).
kèo bóng đá c1 vàoSẽ chấm dứt từng hàng bằng kèo bóng đá c1 dòng mới kiểu UNIX ("\ n"). Máy chủ đang chạy trên Microsoft Windows thay vì đầu ra vận chuyển trở lại/NEWLINE ("\ r \ n"), nhưng chỉ choCopyđến kèo bóng đá c1 tệp máy chủ; Đối với tính nhất quán trên các nền tảng,kèo bóng đá c1 vào stdoutluôn luôn gửi"\ n"Bất kể nền tảng máy chủ.kèo bóng đá c1 từCó thể xử lý các dòng kết thúc bằng các đường mới, trả lại vận chuyển hoặc trả lại vận chuyển/Newlines. Để giảm nguy cơ lỗi do các đường ray mới hoặc trả lại vận chuyển có nghĩa là dữ kèo bóng đá c1,kèo bóng đá c1 từSẽ phàn nàn nếu các kết thúc dòng trong đầu vào không giống nhau.
Tùy chọn định dạng này được sử dụng để nhập và xuất giá trị phân tách bằng dấu phẩy (CSV) Định dạng tệp được sử dụng bởi nhiều chương trình khác, chẳng hạn như bảng tính. Thay vì các quy tắc thoát ra được sử dụng bởiPOSTGRESQLĐịnh dạng văn bản tiêu chuẩn, nó tạo ra và nhận ra cơ chế thoát CSV chung.
Các giá trị trong mỗi bản ghi được phân tách bởiDelimiterký tự. Nếu giá trị chứa ký tự phân cách,QUOTEký tự, The32675_3268132684_32791QUOTEký tự và bất kỳ sự xuất hiện nào trong giá trị của AQUOTEký tự hoặcEscapeký tự được đặt trước ký tự thoát. Bạn cũng có thể sử dụngForce_quoteĐể buộc báo giá khi xuất ra khôngnullGiá trị trong các cột cụ thể.
TheCSVĐịnh dạng không có cách nào để phân biệt AnullGiá trị từ kèo bóng đá c1 chuỗi trống.POSTGRESQL'sCopyXử lý điều này bằng cách trích dẫn. MỘTnulllà đầu ra dưới dạngnullChuỗi tham số và không được trích dẫn, trong khi không phảinullGiá trị khớp vớinullChuỗi tham số được trích dẫn. Ví dụ: với cài đặt mặc định, Anullđược viết dưới dạng chuỗi trống chưa được trích xuất, trong khi giá trị dữ kèo bóng đá c1 chuỗi trống được viết bằng dấu ngoặc""). Đọc giá trị tuân theo các quy tắc tương tự. Bạn có thể sử dụngforce_not_nullđể ngăn chặnnullSo sánh đầu vào cho các cột cụ thể. Bạn cũng có thể sử dụngForce_NullĐể chuyển đổi giá trị dữ kèo bóng đá c1 chuỗi NULL được trích dẫn thànhnull.
Bởi vì Backslash không phải là kèo bóng đá c1 ký tự đặc biệt trongCSVĐịnh dạng,\., Điểm đánh dấu cuối cùng, cũng có thể xuất hiện dưới dạng giá trị dữ kèo bóng đá c1. Để tránh bất kỳ giải thích sai, A\.Giá trị dữ kèo bóng đá c1 xuất hiện dưới dạng mục nhập đơn độc trên một dòng được tự động trích dẫn trên đầu ra và trên đầu vào, nếu được trích dẫn, không được hiểu là dấu hiệu cuối cùng. Nếu bạn đang tải một tệp được tạo bởi một ứng dụng khác có một cột chưa được trích xuất và có thể có giá trị là\., bạn có thể cần trích dẫn giá trị đó trong tệp đầu vào.
Lưu ý:inCSVĐịnh dạng, tất cả các ký tự đều có ý nghĩa. kèo bóng đá c1 giá trị được trích dẫn được bao quanh bởi không gian trắng hoặc bất kỳ ký tự nào khác ngoàiDelimiter, sẽ bao gồm các ký tự đó. Điều này có thể gây ra lỗi nếu bạn nhập dữ kèo bóng đá c1 từ một hệ thống padCSV35097_35208CSVTệp để xóa không gian trắng theo dõi, trước khi nhập dữ kèo bóng đá c1 vàoPostgreSQL.
Lưu ý:Định dạng CSV sẽ nhận ra và tạo các tệp CSV với các giá trị được trích dẫn có chứa các nguồn cấp dữ kèo bóng đá c1 vận chuyển được nhúng và nguồn cấp dữ kèo bóng đá c1 đường. Do đó, các tệp không hoàn toàn là một dòng trên mỗi hàng như các tệp định dạng văn bản.
35718_35725Nhiều chương trình tạo ra các tệp CSV lạ và đôi khi đồi trụy, vì vậy định dạng tệp là kèo bóng đá c1 quy ước hơn là kèo bóng đá c1 tiêu chuẩn. Do đó, bạn có thể gặp kèo bóng đá c1 số tệp không thể nhập bằng cơ chế này vàCopyCó thể tạo các tệp mà các chương trình khác không thể xử lý.
Thenhị phânTùy chọn định dạng khiến tất cả dữ kèo bóng đá c1 được lưu trữ/đọc dưới dạng đị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 văn bản vàCSVĐịnh dạng, nhưng kèo bóng đá c1 tệp định dạng nhị phân ít di động hơn trên các kiến trúc máy vàPostgreSQLPhiên bản. Ngoài ra, định dạng nhị phân là loại dữ kèo bóng đá c1 rất cụ thể; Ví dụ: nó sẽ không hoạt động để xuất dữ kèo bóng đá c1 nhị phân từ ASmallIntCột và đọc nó thànhSố nguyên36668_36727
Thenhị phânĐịnh dạng tệp bao gồm tiêu đề tệp, số không hoặc nhiều bộ dữ kèo bóng đá c1 chứa dữ kèo bóng đá c1 hàng và đoạn giới thiệu tệp. Tiêu đề và dữ kèo bóng đá c1 nằm trong đơn đặt hàng byte mạng.
Lưu ý: PostgreSQLPhát hành trước 7.4 đã sử dụng định dạng tệp nhị phân khác.
Tiêu đề tệp bao gồm 15 byte của các trường cố định, theo sau là khu vực mở rộng tiêu đề có độ dài thay đổi. Các trường cố định là:
chuỗi 11 bytepgcopy \ n \ 377 \ r \ n \ 0- Lưu ý rằng byte số 0 là kèo bóng đá c1 phần bắt buộc của chữ ký. .
Mặt nạ bit số nguyên 32 bit để 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 được lưu trữ trong thứ tự byte mạng (byte quan trọng nhất trước tiên), cũng như tất cả các trường số nguyên được sử dụng trong định dạng tệp. 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 đá c1 người đọc nên hủy bỏ nếu nó tìm thấy kèo bóng đá c1 bit bất ngờ trong phạm vi này. BIT 0-15 được bảo lưu để báo hiệu các vấn đề định dạng tương thích ngược; kèo bóng đá c1 người đọc chỉ cần bỏ qua bất kỳ bit bất ngờ nào được đặt trong phạm vi này. Hiện tại chỉ có kèo bóng đá c1 bit cờ được xác định và phần còn lại phải bằng không:
Nếu 1, OID được bao gồm trong dữ kèo bóng đá c1; Nếu 0, không
Số nguyên 32 bit, độ dài tính theo byte còn lại của tiêu đề, không bao gồm cả bản thân. Hiện tại, đây là số không, và Tuple đầu tiên theo sau ngay lập tức. Những thay đổi trong tương lai đối với định dạng có thể cho phép dữ kèo bóng đá c1 bổ sung có mặt trong tiêu đề. Một người đọc nên âm thầm bỏ qua bất kỳ dữ kèo bóng đá c1 mở rộng tiêu đề nào mà nó không biết phải làm gì với.
Vùng mở rộng tiêu đề được hình dung là chứa kèo bóng đá c1 chuỗi các khối tự nhận dạng. Trường Cờ không nhằm mục đích cho người đọc biết 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 để phát hành sau.
Thiết kế này cho phép cả bổ sung tiêu đề tương thích ngược (Thêm các khối mở rộng tiêu đề hoặc đặt các bit cờ bậc thấp) và các thay đổi tương thích không trở lại (đặt các bit cờ thứ tự cao để báo hiệu các thay đổi đó và thêm dữ kèo bóng đá c1 hỗ trợ vào khu vực mở rộng nếu cần).
39595_40045
Không có phần đệm căn chỉnh hoặc bất kỳ dữ kèo bóng đá c1 bổ sung nào khác giữa các trường.
Hiện tại, tất cả các giá trị dữ kèo bóng đá c1 trong tệp định dạng nhị phân được coi là ở định dạng nhị phân (mã định dạng một). Người ta dự đoán rằng một tiện ích mở rộng trong tương lai có thể thêm một trường tiêu đề cho phép các mã định dạng trên mỗi cột được chỉ định.
Để xác định định dạng nhị phân phù hợp cho dữ kèo bóng đá c1 tuple thực tế, bạn nên tham khảoPostgreSQLNguồn, đặc biệt là*Gửi
và*recv
Hàm cho loại dữ kèo bóng đá c1 của mỗi cột (thường là các chức năng này được tìm thấy trongSRC/Backend/Utils/ADT/Thư mục phân phối nguồn).
Nếu OID được bao gồm trong tệp, trường OID ngay lập tức theo từ số đếm trường. Đó là kèo bóng đá c1 lĩnh vực bình thường ngoại trừ việc nó không được bao gồm trong số đồng hồ. Cụ thể, nó có kèo bóng đá c1 từ dài-điều này sẽ cho phép xử lý 4 byte so với 8 byte oids mà không bị đau quá nhiều và sẽ cho phép OID đượ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 đá c1 từ số nguyên 16 bit chứa -1. Điều này dễ dàng được phân biệt với từ đếm trường của kèo bóng đá c1 tuple.
Một người đọc nên báo cáo lỗi nếu một từ số trường không phải là -1 cũng như 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 đó không đồng bộ với dữ kèo bóng đá c1.
Ví dụ sau đây kèo bóng đá c1 bảng cho máy khách bằng thanh dọc (|) là dấu phân cách trường:
kèo bóng đá c1 quốc gia vào stdout (Delimiter '|');
Để kèo bóng đá c1 dữ liệu từ tệp vàoQuốc giaBảng:
kèo bóng đá c1 quốc gia từ '/usr1/proj/bray/sql/country_data';
Để kèo bóng đá c1 vào một tệp chỉ các quốc gia có tên bắt đầu bằng 'A':
42115_42222
Để kèo bóng đá c1 vào tệp nén, bạn có thể ống đầu ra thông qua chương trình nén bên ngoài:
42359_42433
Đây là một mẫu dữ liệu phù hợp để kèo bóng đá c1 vào bảng từstdin:
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 đá c1 ký tự tab.
Sau đây là cùng một dữ kèo bóng đá c1, đầu ra ở định dạng nhị phân. Dữ kèo bóng đá c1 được hiển thị sau khi lọc qua tiện ích UNIXOD -C. Bảng có ba cột; đầu tiên có loạichar (2), thứ hai có loạiTextvà thứ ba có loạiSố nguyên. Tất cả các hàng có giá trị null trong cột thứ ba.
43150_43783
Không cóCopyCâu lệnh trong tiêu chuẩn SQL.
Cú pháp sau đã được sử dụng trướcPostgreSQLPhiên bản 9.0 và vẫn được hỗ trợ:
CopyTable_Name[(Cột_name[, ...])]]] TỪ 'FileName' | Stdin [ [ VỚI ] [Nhị phân] [OIDS] [Delimiter [as] 'Delimiter_Character' ] [Null [as] 'NULL Chuỗi' ] [CSV [Tiêu đề] [Trích dẫn [như] 'quote_character' ] [Escape [as] 'Escape_character' ] [Lực lượng không nullCột_name[, ...]]]]]] kèo bóng đá c1Table_Name[(Cột_name[, ...])] | (Truy vấn) ĐẾN 'FileName' | Stdout [ [ VỚI ] [Nhị phân] [OIDS] [Delimiter [as] 'Delimiter_Character' ] [Null [as] 'Chuỗi NULL' ] [CSV [Tiêu đề] [Trích dẫn [như] 'QUOTE_Character' ] [Escape [as] 'Escape_character' ] [Lực lượng báo giáCột_name[, ...] | *]]]]
Lưu ý rằng trong cú pháp này,nhị phânvàCSVđược coi là từ khóa độc lập, không phải là đối số của AĐịnh dạngTùy chọn.
Cú pháp sau đã được sử dụng trướcPOSTGRESQLPhiên bản 7.3 và vẫn được hỗ trợ:
kèo bóng đá c1 [nhị phân]Table_Name[Với OIDS] TỪ 'FileName' | Stdin [[Sử dụng] Delimiters 'Delimiter_Character' ] [Với null là 'NULL_STRING' ] kèo bóng đá c1 [nhị phân]Table_Name[với OIDS] ĐẾN 'FileName' | Stdout [[Sử dụng] Delimiters 'Delimiter_Character' ] [Với null là 'NULL_STRING' ]