kèo bóng đá pháp - kèo bóng đá pháp dữ liệu giữa tệp và bảng
CopyTable_Name
[(Cột_name
[, ...])]]] TỪ 'FileName
' | CHƯƠNG TRÌNH 'lệnh
' | Stdin [ [ VỚI ] (Tùy chọn
[, ...])]]] [ Ở ĐÂUđiều kiện
] kèo bóng đá phápTable_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ọn
có thể là một trong số:Định dạngformat_name
Freeze [Boolean
] DELIMITER 'Delimiter_Character
' VÔ GIÁ TRỊ 'NULL_STRING
' MẶC ĐỊNH 'Default_String
' Tiêu đề [Boolean
| CUỘC THI ĐẤU ] TRÍCH DẪN 'quote_character
' BỎ TRỐN 'Escape_character
' Force_quote (Cột_name
[, ...]) | * Force_not_null (Cột_name
[, ...]) | * Force_null (Cột_name
[, ...]) | * On_errorerror_action
mã hóa 'mã hóa_name
' Log_verbosityVerbosity
Copy
di chuyển dữ kèo bóng đá pháp giữaPostgreSQLBảng và tệp hệ thống tệp tiêu chuẩn.kèo bóng đá pháp vào
kèo bóng đá pháp nội dung của bảngđếnmột tệp, trong khikèo bóng đá pháp từ
Bản kèo bóng đá pháp dữ liệutừMột tệp vào bảng (nối dữ kèo bóng đá pháp vào bất cứ thứ gì trong bảng rồi).kèo bóng đá pháp vào
cũng có thể kèo bóng đá pháp kết quả của AChọn
Truy vấn.
Nếu một danh sách cột được chỉ định,kèo bóng đá pháp vào
Chỉ kèo bóng đá pháp dữ liệu trong các cột được chỉ định vào tệp. Vìkèo bóng đá pháp từ
, mỗi trường trong tệp được chèn, theo thứ tự, vào cột được chỉ định. kèo bóng đá pháp cột bảng không được chỉ định trongkèo bóng đá pháp từ
Danh sách cột sẽ nhận được kèo bóng đá pháp giá trị mặc định của họ.
Copy
Với tên tệp hướng dẫnPostgreSQLMáy chủ để đọc trực tiếp hoặc ghi vào một 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ình
được chỉ định, máy chủ thực thi lệnh đã cho và đọc từ đầu ra tiêu chuẩn của chương trình hoặc ghi vào đầu vào tiêu chuẩn của chương trình. Lệnh phải được chỉ định từ quan điểm của máy chủ và được thực thi bởiPostgreSQLNgười dùng. Khistdin
hoặcstdout
được chỉ định, dữ kèo bóng đá pháp được truyền qua kết nối giữa máy khách và máy chủ.
mỗi phụ trợ chạyCopy
sẽ báo cáo tiến trình của nó trongPG_STAT_PROTERS_COPY
Xem. Nhìn thấyPhần 27.4.3Để biết chi tiết.
Theo mặc định,Copy
sẽ thất bại nếu nó gặp lỗi trong quá trình xử lý. Đối với kèo bóng đá pháp trường hợp sử dụng trong đó nỗ lực tốt nhất trong việc tải toàn bộ tệp làon_error
mệnh đề có thể được sử dụng để chỉ định một số hành vi khác.
Table_Name
Tên (tùy chọn theo trình độ lược đồ) của một bảng hiện có.
Cột_name
Một danh sách các cột tùy chọn sẽ được kèo bóng đá pháp. Nếu không có danh sách cột nào được chỉ định, tất cả các cột của bảng ngoại trừ các cột được tạo sẽ được kèo bóng đá pháp.
Truy vấn
AChọn
, Giá trị
, Chèn
, Cập nhật
, Xóa
hoặcHợp nhất
Lệnh có kết quả sẽ được kèo bóng đá pháp. Lưu ý rằng dấu ngoặc đơn được yêu cầu xung quanh truy vấn.
choChèn
, Cập nhật
, Xóa
vàHợp nhất
Truy vấn ATrở về
Điều khoản phải được cung cấp và mối quan hệ đích không phải có quy tắc có điều kiện, cũng không phảicũng
Quy tắc, cũng không phảiThay vào đó
Quy tắc mở rộng sang nhiều câu.
FileName
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à một đường dẫn tuyệt đối hoặc tương đối, nhưng tên tệp đầu ra phải là một đườ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.
Chương trình
Một lệnh để thực thi. TRONGkèo bóng đá pháp từ
, Đầu vào được đọc từ đầu ra tiêu chuẩn của lệnh và trongkèo bóng đá pháp vào
, đầu ra được ghi vào đầu vào tiêu chuẩn của lệnh.
Lưu ý rằng lệnh được đưa ra bởi shell, vì vậy nếu bạn cần chuyển bất kỳ đối số nào đến từ một nguồn không đáng tin cậy, bạn phải cẩn thận để thoát khỏi hoặc thoát khỏi bất kỳ ký tự đặc biệt nào có thể có ý nghĩa đặc biệt đối với vỏ. Vì lý do bảo mật, tốt nhất là sử dụng chuỗi lệnh cố định hoặc ít nhất là tránh bao gồm bất kỳ đầu vào người dùng nào trong đó.
stdin
Chỉ định đầu vào đó đến từ ứng dụng máy khách.
stdout
Chỉ định đầu ra đó được chuyển đến ứng dụng máy khách.
Boolean
Chỉ định kèo bóng đá pháp tùy chọn đã chọn nên được bật hay tắt. Bạn có thể viếtTRUE
, trên
hoặc1
Để bật tùy chọn vàSai
, TẮT
hoặc0
Để vô hiệu hóa nó. TheBoolean
Giá trị cũng có thể được bỏ qua, trong trường hợp đóTRUE
được giả định.
Định dạng
Chọn định dạng dữ kèo bóng đá pháp 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
.
Freeze
Yêu cầu kèo bóng đá pháp dữ liệu với các hàng đã bị đóng băng, giống như chúng sau khi chạyChống chân không
lệnh. Đây được dự định là một tùy chọn hiệu suất để tải dữ kèo bóng đá pháp 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. Hiện tại không thể thực hiệnkèo bóng đá pháp Freeze
Trên bảng được phân vùng. Tùy chọn này chỉ được phép trongkèo bóng đá pháp từ
.
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 đá pháp sau khi đượ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 nên nhận thức được các vấn đề tiềm ẩn mà điều này có thể gây ra.
DELIMITER
Chỉ định ký tự phân tách kèo bóng đá pháp 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à một nhân vật một byte duy nhất. Tùy chọn này không được phép khi sử dụngnhị phân
Định dạng.
null
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à một chuỗi trống chưa được trích xuất trongCSV
Định dạng. Bạn có thể thích một chuỗi trống ngay cả ở định dạng văn bản cho kèo bóng đá pháp trường hợp bạn không muốn phân biệt null với kèo bóng đá pháp chuỗi trống. Tùy chọn này không được phép khi sử dụngnhị phân
Định dạng.
Khi sử dụngkèo bóng đá pháp từ
, bất kỳ mục dữ kèo bóng đá pháp 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 đá pháp vào
.
mặc định
Chỉ định chuỗi đại diện cho giá trị mặc định. Mỗi lần chuỗi được tìm thấy trong tệp đầu vào, giá trị mặc định của cột tương ứng sẽ được sử dụng. Tùy chọn này chỉ được phép trongkèo bóng đá pháp từ
và chỉ khi không sử dụngnhị phân
Định dạng.
tiêu đề
Chỉ định rằng tệp chứa một 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 kèo bóng đá pháp tên cột từ bảng. Trên đầu vào, dòng đầu tiên bị loại bỏ khi tùy chọn này được đặt thànhTRUE
(hoặc giá trị boolean tương đương). Nếu tùy chọn này được đặt thànhkhớp
, Số và tên của kèo bóng đá pháp cột trong dòng tiêu đề phải khớp với tên cột thực tế của bảng, theo thứ tự; nếu không một lỗi được nêu ra. Tùy chọn này không được phép khi sử dụngnhị phân
Định dạng. Thekhớp
Tùy chọn chỉ hợp lệ chokèo bóng đá pháp từ
lệnh.
QUOTE
Chỉ định ký tự trích dẫn được sử dụng khi giá trị dữ kèo bóng đá pháp đượ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.
Escape
Chỉ định ký tự sẽ xuất hiện trước một ký tự dữ kèo bóng đá pháp phù hợp vớiQUOTE
Giá trị. Mặc định giống nhưQUOTE
Giá trị (kèo bóng đá pháp cho ký tự trích dẫn được nhân đôi nếu nó xuất hiện trong dữ liệu). Đâ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.
Force_quote
Lực lượng trích dẫn sẽ được sử dụng cho tất cả khôngnull
Giá 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ôngnull
Giá trị sẽ được trích dẫn trong tất cả kèo bóng đá pháp cột. Tùy chọn này chỉ được phép trongkèo bóng đá pháp vào
và chỉ khi sử dụngCSV
Định dạng.
force_not_null
Không khớp với kèo bóng đá pháp giá trị của kèo bóng đá pháp 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à kèo bóng đá pháp giá trị trống sẽ được đọc dưới dạng kèo bóng đá pháp chuỗi có độ dài bằng không thay vì null, ngay cả khi chúng không được trích dẫn. Nếu như*
được chỉ định, tùy chọn sẽ được áp dụng cho tất cả kèo bóng đá pháp cột. Tùy chọn này chỉ được phép trongkèo bóng đá pháp từ
và chỉ khi sử dụngCSV
Định dạng.
Force_Null
24370_24502null
. Trong trường hợp mặc định trong đó chuỗi null trống, điều này chuyển đổi một chuỗi trống được trích dẫn thành null. Nếu như*
được chỉ định, tùy chọn sẽ được áp dụng cho tất cả kèo bóng đá pháp cột. Tùy chọn này chỉ được phép trongkèo bóng đá pháp từ
và chỉ khi sử dụngCSV
Định dạng.
on_error
Chỉ định cách cư xử khi gặp lỗi chuyển đổi giá trị đầu vào của cột thành kiểu dữ kèo bóng đá pháp của nó. MỘTerror_action
Giá trị củaDừng
có nghĩa là thất bại lệnh, trong khibỏ qua
có nghĩa là loại bỏ hàng đầu vào và tiếp tục với hàng tiếp theo. Mặc định làDừng
.
Thebỏ qua
Tùy chọn chỉ áp dụng chokèo bóng đá pháp từ
KhiĐịnh dạng
làText
hoặcCSV
.
AThông báo
Thông báo chứa số lượng hàng bị bỏ qua được phát ra ở cuốikèo bóng đá pháp từ
Nếu có ít nhất một hàng bị loại bỏ. Khilog_verbosity
Tùy chọn được đặt thànhVerbose
, AThông báo
Thông báo chứa dòng của tệp đầu vào và tên cột có chuyển đổi đầu vào không bị phát ra cho mỗi hàng bị loại bỏ.
Mã hóa
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 kèo bóng đá pháp ghi chú bên dưới để biết thêm chi tiết.
log_verbosity
Chỉ định lượng tin nhắn phát ra bởiCopy
lệnh:Mặc định
hoặcVerbose
. Nếu nhưVerbose
được chỉ định, kèo bóng đá pháp thông báo bổ sung được phát ra trong quá trình xử lý.
Điều này hiện đang được sử dụng trongkèo bóng đá pháp từ
lệnh khion_error
Tùy chọn được đặt thànhbỏ qua
.
WHERE
Tùy chọnWHERE
mệnh đề có dạng chung
WHEREđiều kiện
WHEREđiều kiện
là bất kỳ biểu thức nào đánh giá là kết quả của loạiBoolean
. Bất kỳ hàng nào không thỏa mãn điều kiện này sẽ không được chèn vào bảng. Một hàng thỏa mãn điều kiện nếu nó trả về true khi các giá trị hàng thực tế được thay thế cho bất kỳ tài kèo bóng đá pháp tham khảo nào.
Hiện tại, kèo bóng đá pháp nhóm con không được phép trongWHERE
Biểu thức và đánh giá không thấy bất kỳ thay đổi nào được thực hiện bởiCopy
chính nó (điều này quan trọng khi biểu thức chứa kèo bóng đá pháp cuộc gọi đếnDisrily
chức năng).
Khi hoàn thành thành công, ACopy
lệnh trả về thẻ lệnh của biểu mẫu
CopyĐếm
TheĐếm
là số lượng hàng được kèo bóng đá pháp.
PSQLSẽ chỉ in thẻ lệnh này nếu lệnh khôngkèo bóng đá pháp ... vào stdout
hoặc tương đươngPSQLĐề án meta\ kèo bóng đá pháp ... đế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 đá pháp vừa được in.
kèo bóng đá pháp vào
Chỉ có thể được sử dụng với các bảng đơn giản, không phải chế độ xem và không kèo bóng đá pháp các hàng từ bảng con hoặc phân vùng con. Ví dụ,Copy
kèo bóng đá pháp các hàng giống nhưBảng
đếnChọn * chỉ từ
. Cú phápBảng
kèo bóng đá pháp (chọn * từ
Có thể được sử dụng để đổ tất cả kèo bóng đá pháp hàng trong hệ thống phân cấp kế thừa, bảng được phân vùng hoặc xem.Bảng
) đến ...
kèo bóng đá pháp từ
có thể được sử dụng với kèo bóng đá pháp bảng đơn giản, nước ngoài hoặc phân vùng hoặc với kèo bóng đá pháp chế độ xem cóThay vì chèn
Triggers.
Bạn phải chọn đặc quyền trên bảng có giá trị được đọc bởikèo bóng đá pháp vào
và chèn đặc quyền vào bảng vào đó kèo bóng đá pháp giá trị được chèn bởikèo bóng đá pháp từ
. Nó là đủ để có kèo bóng đá pháp đặc quyền cột trên (kèo bóng đá pháp) cột được liệt kê trong lệnh.
Nếu bảo mật cấp hàng được bật cho bảng, có liên quanChọn
Chính sách sẽ áp dụng choCopy
Câu lệnh. Hiện nay,Bảng
đếnkèo bóng đá pháp từ
Không được hỗ trợ cho kèo bóng đá pháp bảng có bảo mật cấp hàng. Sử dụng tương đươngChèn
Câu lệnh thay thế.
Tệp có tên trong ACopy
Lệ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 đá pháp 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ởiPostgreSQLNgười dùng.Copy
Đặt tên cho một tệp hoặc lệnh chỉ được phép cho kèo bóng đá pháp siêu người dùng hoặc người dùng được cấp một trong kèo bóng đá pháp vai tròPG_READ_SERVER_FILES
, pg_write_server_files
hoặcPG_EXECUTE_SERVER_PROGRAM
, vì nó cho phép đọc hoặc viết bất kỳ tệp nào hoặc chạy chương trình mà máy chủ có đặc quyền truy cập.
Không nhầm lẫnCopy
vớiPSQLHướng dẫn\ Copy
. \ Copy
Gọikèo bóng đá pháp từ Stdin
hoặckèo bóng đá pháp vào stdout
, và sau đó tìm nạp/lưu trữ dữ kèo bóng đá pháp 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 trongCopy
Luôn luôn được chỉ định là một đường dẫn tuyệt đối. Điều này được thực thi bởi máy chủ trong trường hợpkèo bóng đá pháp vào
, nhưng chokèo bóng đá pháp 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 đá pháp 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ình
Có thể bị hạn chế bởi kèo bóng đá pháp 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 đá pháp từ
Sẽ gọi bất kỳ trình kích hoạt nào và kiểm tra kèo bóng đá pháp ràng buộc trên bảng đích. Tuy nhiên, nó sẽ không gọi kèo bóng đá pháp quy tắc.
cho kèo bóng đá pháp cột nhận dạng,kèo bóng đá pháp từ
Lệnh sẽ luôn ghi các giá trị cột được cung cấp trong dữ kèo bóng đá pháp đầu vào, nhưChèn
Tùy chọnGiá trị hệ thống ghi đè
.
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 địnhDatestyle
Cài đặt,Datestyle
nên được đặt thànhISO
Trước khi sử dụngkèo bóng đá pháp vào
. Đó cũng là một ý tưởng tốt để tránh việc bán dữ kèo bóng đá pháp vớiIntervalStyle
Đặt thànhSQL_STANDARD
, Vì kèo bóng đá pháp giá trị khoảng thời gian âm có thể bị hiểu sai bởi một máy chủ có cài đặt khác choIntervalStyle
.
Dữ kèo bóng đá pháp đầu vào được giải thích theomã hóa
Tùy chọn hoặc mã hóa máy khách hiện tại và dữ kèo bóng đá pháp đầu ra được mã hóa trongmã hóa
hoặc mã hóa máy khách hiện tại, ngay cả khi dữ kèo bóng đá pháp 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ủ.
Thekèo bóng đá pháp từ
Lệnh chèn vật lý các hàng đầu vào vào bảng khi nó tiến triển. Nếu lệnh không thành công, các hàng này bị bỏ lại ở trạng thái bị xóa; Những hàng này sẽ không thể nhìn thấy, nhưng vẫn chiếm không gian đĩa. Điều này có thể lên tới 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 đá pháp lớn.VACUUM
nên được sử dụng để khôi phục không gian lãng phí.
Force_Null
vàForce_not_Null
có thể được sử dụng đồng thời trên cùng một cột. Điều này dẫn đến việc chuyển đổi kèo bóng đá pháp chuỗi null được trích dẫn thành kèo bóng đá pháp giá trị null và kèo bóng đá pháp chuỗi null chưa được trích xuất thành kèo bóng đá pháp chuỗi trống.
KhiText
Định dạng được sử dụng, dữ kèo bóng đá phá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. 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 đá pháp 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 đá pháp từ
sẽ gây lỗi nếu bất kỳ dòng nào của tệp đầu vào chứa nhiều hoặc ít cột hơn dự kiến.
Kết thúc dữ kèo bóng đá pháp 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 đá pháp 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 trongCopy
Dữ kèo bóng đá pháp để trích dẫn các ký tự dữ kèo bóng đá pháp có thể được lấy dưới dạng phân định hàng hoặc cột. Cụ thể, các ký tự sauphải36123_36275
Chuỗi null được chỉ định được gửi bởikèo bóng đá pháp vào
mà 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 đá pháp 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 đó, một chuỗi null như\ n
Không thể bị nhầm lẫn với giá trị dữ kèo bóng đá pháp thực tế\ n
(sẽ được biểu diễn dưới dạng\ n
).
kèo bóng đá pháp chuỗi ngược đặc biệt sau đây được công nhận bởikèo bóng đá pháp 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) |
\ Digits |
Backslash theo sau là một đến ba chữ số bát phân chỉ định byte với mã số đó |
\ x chữ số |
Backslashx theo sau là một hoặc hai chữ số hex chỉ định byte với mã số đó |
Hiện tại,kèo bóng đá pháp vào
38599_38739
Bất kỳ ký tự được đánh dấu ngược 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 đá pháp cuối cùng (\.
) hoặc chuỗi null (\ n
Theo mặc định). kèo bóng đá pháp 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 kèo bóng đá pháp ứng dụng tạoCopy
Dữ kèo bóng đá pháp chuyển đổi dữ kèo bóng đá pháp Newlines và vận chuyển trở lại\ n
và\ r
Trì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 đá pháp bằng cách trả lại và trả lại vận chuyển, và thể hiện dữ kèo bóng đá pháp 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ếuCopy
Tệp được chuyển qua kèo bóng đá pháp máy khác nhau (ví dụ: từ Unix sang Windows hoặc ngược lại).
Tất cả các chuỗi ngược được giải thích sau khi chuyển đổi mã hóa. Các byte được chỉ định với các chuỗi dấu gạch chéo ngược Octal và hex phải hình thành các ký tự hợp lệ trong mã hóa cơ sở dữ kèo bóng đá pháp.
kèo bóng đá pháp vào
Sẽ chấm dứt từng hàng với một dòng mới kiểu UNIX (\ n
Hồi). Máy chủ đang chạy trên Microsoft Windows thay vì đầu ra vận chuyển trở lại/NEWLINE (Mạnh\ r \ n
Hồi), nhưng chỉ choCopy
đến một tệp máy chủ; Đối với tính nhất quán trên kèo bóng đá pháp nền tảng,kèo bóng đá pháp vào stdout
luôn luôn gửi\ n
HồiBất kể nền tảng máy chủ.kèo bóng đá pháp 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 đá pháp,kèo bóng đá pháp từ
sẽ phàn nàn nếu kèo bóng đá pháp 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ì kèo bóng đá pháp quy tắc thoát ra được sử dụng bởiPostgreSQL41364_41429CSV
Cơ chế thoát.
kèo bóng đá pháp giá trị trong mỗi bản ghi được phân tách bởiDelimiter
ký tự. Nếu giá trị chứa ký tự phân cách,QUOTE
ký tự, Thenull
41724_41831QUOTE
ký tự và bất kỳ sự xuất hiện nào trong giá trị của AQUOTE
ký tự hoặcEscape
ký 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ôngnull
Giá trị trong kèo bóng đá pháp cột cụ thể.
TheCSV
Định dạng không có cách nào để phân biệt Anull
Giá trị từ một chuỗi trống.PostgreSQL'sCopy
Xử lý điều này bằng cách trích dẫn. MỘTnull
là đầu ra dưới dạngnull
Chuỗi tham số và không được trích dẫn, trong khi không phảinull
Giá trị khớp vớinull
Chuỗ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 đá pháp chuỗi trống được viết bằng dấu ngoặc kép (""
). Đọc giá trị tuân theo kèo bóng đá pháp quy tắc tương tự. Bạn có thể sử dụngForce_not_Null
để ngăn chặnnull
So sánh đầu vào cho kèo bóng đá pháp cột cụ thể. Bạn cũng có thể sử dụngForce_Null
Để chuyển đổi giá trị dữ kèo bóng đá pháp chuỗi NULL được trích dẫn thànhnull
.
Bởi vì Backslash không phải là một 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 đá pháp. Để tránh bất kỳ giải thích sai, A\.
Giá trị dữ kèo bóng đá pháp 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.
inCSV
Định dạng, tất cả kèo bóng đá pháp ký tự đều có ý nghĩa. Một 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 đá pháp từ một hệ thống padCSV
kèo bóng đá pháp dòng có khoảng trắng ra một số chiều rộng cố định. Nếu tình huống như vậy phát sinh, bạn có thể cần phải xử lý trướcCSV
Tệp để xóa không gian trắng theo dõi, trước khi nhập dữ kèo bóng đá pháp vàoPOSTGRESQL.
CSV
Định dạng sẽ nhận ra và sản xuấtCSV
Các tệp có giá trị được trích dẫn có chứa các nguồn cấp dữ kèo bóng đá pháp vận chuyển được nhúng và nguồn cấp dữ kèo bóng đá pháp. 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.
Nhiều chương trình tạo ra kỳ lạ và đôi khi đồi trụyCSV
Tệp, vì vậy định dạng tệp là một quy ước hơn là một tiêu chuẩn. Do đó, bạn có thể gặp một số tệp không thể nhập bằng cơ chế này vàCopy
Có thể tạo kèo bóng đá pháp tệp mà kèo bóng đá pháp chương trình khác không thể xử lý.
Thenhị phân
Tùy chọn định dạng khiến tất cả dữ kèo bóng đá pháp đượ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 một tệp định dạng nhị phân ít di động hơn trên kèo bóng đá pháp 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 đá pháp rất cụ thể; Ví dụ: nó sẽ không hoạt động để xuất dữ kèo bóng đá pháp nhị phân từ ASmallInt
Cột và đọc nó thành mộtSố nguyên
Cột, mặc dù điều đó sẽ hoạt động tốt ở định dạng văn bản.
Thenhị phân
Định dạng tệp bao gồm một tiêu đề tệp, số không hoặc nhiều bộ dữ kèo bóng đá pháp chứa dữ kèo bóng đá pháp hàng và đoạn giới thiệu tệp. Tiêu đề và dữ kèo bóng đá pháp nằm trong đơn đặt hàng byte mạng.
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 kèo bóng đá pháp trường cố định, theo sau là khu vực mở rộng tiêu đề có độ dài thay đổi. kèo bóng đá pháp trường cố định là:
chuỗi 11 bytepgcopy \ n \ 377 \ r \ n \ 0
- Lưu ý rằng byte số 0 là một phần bắt buộc của chữ ký. .
Mặt nạ bit số nguyên 32 bit để biểu thị kèo bóng đá pháp 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ả kèo bóng đá pháp trường số nguyên được sử dụng trong định dạng tệp. kèo bóng đá pháp bit 16 bóng31 được bảo lưu để biểu thị kèo bóng đá pháp vấn đề định dạng tệp quan trọng; Một người đọc nên hủy bỏ nếu nó tìm thấy một bit bất ngờ trong phạm vi này. BIT 0 Ném15 được bảo lưu để báo hiệu kèo bóng đá pháp vấn đề định dạng tương thích ngược; Một 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ó một 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 đá pháp; Nếu 0, không. Các cột hệ thống OID không được hỗ trợ trongPostgreSQLnữa, nhưng định dạng vẫn chứa chỉ báo.
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 đá pháp 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 đá pháp 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 một chuỗi kèo bóng đá pháp 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ờ bậc cao để báo hiệu các thay đổi đó và thêm dữ kèo bóng đá pháp hỗ trợ vào khu vực mở rộng nếu cần).
Mỗi tuple bắt đầu với số nguyên 16 bit của số trường trong bộ tuple. . (Từ dài không bao gồm chính nó và có thể bằng không.) Như một trường hợp đặc biệt, -1 chỉ ra giá trị trường null. Không có byte giá trị theo dõi trong trường hợp null.
Không có phần đệm căn chỉnh hoặc bất kỳ dữ kèo bóng đá pháp 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 đá pháp 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 đá pháp 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 đá pháp 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à một lĩnh vực bình thường ngoại trừ việc nó không được bao gồm trong số đồng hồ. Lưu ý rằng kèo bóng đá pháp cột hệ thống OID không được hỗ trợ trong kèo bóng đá pháp phiên bản hiện tại củaPostgreSQL.
Trailer tệp bao gồm một 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 một 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 đá pháp.
Ví dụ sau đây kèo bóng đá pháp 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 đá pháp quốc gia vào stdout (Delimiter '|');
Để kèo bóng đá pháp dữ liệu từ tệp vàoQuốc gia
Bảng:
kèo bóng đá pháp quốc gia từ '/usr1/proj/bray/sql/country_data';
Để kèo bóng đá pháp vào một tệp chỉ các quốc gia có tên bắt đầu bằng 'A':
kèo bóng đá pháp (chọn * từ quốc gia nơi quốc gia_name thích 'a%') đến '/usr1
Để kèo bóng đá pháp 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:
kèo bóng đá pháp quốc gia vào chương trình 'gzip /usr1/proj/bray/sql/country_data.gz';
Đây là một mẫu dữ liệu phù hợp để kèo bóng đá pháp 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à một ký tự tab.
Sau đây là cùng một dữ kèo bóng đá pháp, đầu ra ở định dạng nhị phân. Dữ kèo bóng đá pháp đượ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ạiText
và thứ ba có loạiSố nguyên
. Tất cả kèo bóng đá pháp hàng có giá trị null trong cột thứ ba.
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 \ 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 I 0000100 A 377 377 377 377 \ 0 003 \ 0 \ 0 \ 0 002 D Z \ 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 I 0000200 M B A B W E 377 377 377 377 377 377
Không cóCopy
Câ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] [Delimiter [as] 'Delimiter_Character
' ] [Null [as] 'NULL_STRING
' ] [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 đá phápTable_Name
[(Cột_name
[, ...])] | (Truy vấn
) ĐẾN 'FileName
' | Stdout [ [ VỚI ] [Nhị phân] [Delimiter [as] 'Delimiter_Character
' ] [Null [as] 'NULL_STRING
' ] [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ân
vàCSV
được coi là từ khóa độc lập, không phải là đối số của AĐịnh dạng
Tù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 đá pháp [nhị phân]Table_Name
từ 'FileName
' | Stdin [[Sử dụng] Delimiters 'Delimiter_Character
' ] [Với null là 'NULL_STRING
' ] kèo bóng đá pháp [nhị phân]Table_Name
đến '56453_56463
' | Stdout [[Sử dụng] Delimiters 'Delimiter_Character
' ] [Với null là 'NULL_STRING
' ]
Nếu bạn thấy bất cứ điều gì trong tài kèo bóng đá pháp không chính xác, không khớp Kinh nghiệm của bạn với tính năng cụ thể hoặc yêu cầu làm rõ thêm, Vui lòng sử dụngMẫu nàyĐể báo cáo vấn đề tài kèo bóng đá pháp.