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 cách đọc kèo bóng đá 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 một trang chohiện tạiPhiên bản hoặc một trong cách đọc kèo bóng đá phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

Copy

cách đọc kèo bóng đá - cách đọc kèo bóng đá dữ liệu giữa tệp và bảng

Tóm tắt

cách đọc kèo bóng đáTable_Name​​[(Cột_name[, ...])]]
    TỪ  'FileName' | CHƯƠNG TRÌNH 'lệnh' | Stdin
    [ [ VỚI ] (Tùy chọn[, ...])]]
    [ Ở ĐÂUđiều kiện]

cách đọc kèo bóng đáTable_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à một trong số:Định dạngformat_nameFreeze [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_name[, ...])
    Force_null (Cột_name[, ...])
    Mã hóa 'mã hóa_name'

Mô tả

Copydi chuyển dữ cách đọc kèo bóng đá giữaPostgreSQLBảng và tệp hệ thống tệp tiêu chuẩn.cách đọc kèo bóng đá vàocách đọc kèo bóng đá nội dung của bảngđếnMột tệp, trong khicách đọc kèo bóng đá từBản sao dữ cách đọc kèo bóng đátừ12590_12669cách đọc kèo bóng đá vàocũng có thể cách đọc kèo bóng đá kết quả của AChọnTruy vấn.

Nếu một danh sách cột được chỉ định,cách đọc kèo bóng đá vàoChỉ cách đọc kèo bóng đá dữ liệu trong các cột được chỉ định vào tệp. Vìcách đọc kèo bóng đá từ, mỗi trường trong tệp được chèn, theo thứ tự, vào cột được chỉ định. cách đọc kèo bóng đá cột bảng không được chỉ định trongcách đọc kèo bóng đá từDanh sách cột sẽ nhận được cách đọc kèo bóng đá giá trị mặc định của họ.

CopyVớ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. Khistdinhoặcstdoutđược chỉ định, dữ cách đọc kèo bóng đá được truyền qua kết nối giữa máy khách và máy chủ.

tham số

Table_Name

Tên (tùy chọn Lược đồ theo trình độ) 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 cách đọc kèo bóng đá. 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 cách đọc kèo bóng đá.

Truy vấn

AChọn, Giá trị, Chèn, Cập nhậthoặcXóaLệnh có kết quả sẽ được cách đọc kèo bóng đá. Lưu ý rằng dấu ngoặc đơn được yêu cầu xung quanh truy vấn.

choChèn, Cập nhậtXóaTruy vấn ATrở vềmệnh đề 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ũngQuy 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. TRONGcách đọc kèo bóng đá từ, Đầu vào được đọc từ đầu ra tiêu chuẩn của lệnh và trongcách đọc kèo bóng đá 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 cho lệnh shell xuất phát từ một nguồn khô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 cho shell. 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 chuyển 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 tùy chọn đã chọn nên được bật hay tắt. Bạn có thể viếtTRUE, trênhoặc1để bật tùy chọn vàSai, TẮThoặc0Để vô hiệu hóa nó. TheBooleanGiá 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ữ cách đọc kèo bóng đá 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 cách đọc kèo bóng đá dữ liệu với các hàng đã bị đóng băng, giống như chúng sẽ có sau khi chạyChụp lên chân khôngLệnh. Đây được dự định là một tùy chọn hiệu suất để tải dữ cách đọc kèo bóng đá 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ệncách đọc kèo bóng đá FreezeTrên bảng được phân vùng.

18854_19094

Delimiter

Chỉ định ký tự phân tách cách đọc kèo bóng đá 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 một 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 trongCSV19838_20012nhị phânĐịnh dạng.

Lưu ý

Khi sử dụngcách đọc kèo bóng đá từ, bất kỳ mục dữ cách đọc kèo bóng đá 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ớicách đọc kèo bóng đá vào.

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 cách đọc kèo bóng đá 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.

QUOTE

Chỉ định ký tự trích dẫn được sử dụng khi giá trị dữ cách đọc kèo bóng đá đượ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ữ cách đọc kèo bóng đá phù hợp vớiQUOTEGiá trị. Mặc định giống nhưQUOTEGiá trị (sao cho ký tự trích dẫn được nhân đôi nếu nó xuất hiện trong dữ cách đọc kèo bóng đá). Đâ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ô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ôngNULLGiá trị sẽ được trích dẫn trong tất cả cách đọc kèo bóng đá cột. Tùy chọn này chỉ được phép trongcách đọc kèo bóng đá vàovà chỉ khi sử dụngCSVĐịnh dạng.

force_not_null

Không khớp với cách đọc kèo bóng đá giá trị của cách đọc kèo bóng đá 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ách đọc kèo bóng đá giá trị trống sẽ được đọc dưới dạng cách đọc kèo bóng đá 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 trongcách đọc kèo bóng đá từvà chỉ khi sử dụngCSVĐịnh dạng.

Force_Null

22819_22951null. 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. Tùy chọn này chỉ được phép trongcách đọc kèo bóng đá từvà chỉ khi sử dụngCSVĐịnh dạng.

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 cách đọc kèo bóng đá ghi chú bên dưới để biết thêm chi tiết.

WHERE

Tùy chọnWHEREmệnh đề có biểu mẫu chung

WHEREđiều kiện

WHEREđiều kiệnlà 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 cách đọc kèo bóng đá tham khảo nào.

Hiện tại, cách đọc kèo bóng đá nhóm con không được phép trongWHEREBiểu thức và đánh giá không thấy bất kỳ thay đổi nào được thực hiện bởiCopychính nó (điều này quan trọng khi biểu thức chứa cách đọc kèo bóng đá cuộc gọi đếnDisrilychức năng).

Đầu ra

Khi hoàn thành thành công, ACopyLệnh trả về thẻ lệnh của biểu mẫu

CopyĐếm

TheĐếmlà số lượng hàng được cách đọc kèo bóng đá.

Lưu ý

PSQLSẽ chỉ in thẻ lệnh này nếu lệnh khôngcách đọc kèo bóng đá ... vào stdouthoặc tương đươngPSQLMeta-Command\ cách đọc kèo bóng đá ... đến stdout. Điều này là để ngăn chặn việc nhầm lẫn thẻ lệnh với dữ cách đọc kèo bóng đá vừa được in.

Ghi chú

cách đọc kèo bóng đá vàoChỉ có thể được sử dụng với các bảng đơn giản, không phải khung nhìn và không cách đọc kèo bóng đá các hàng từ bảng con hoặc phân vùng con. Ví dụ,CopyBảngđến25661_25688Chọn * chỉ từBảng. Cú phápcách đọc kèo bóng đá (chọn * từBảng) đến ...Có thể được sử dụng để đổ tất cả cách đọc kèo bóng đá hàng trong hệ thống phân cấp kế thừa, bảng được phân vùng hoặc xem.

cách đọc kèo bóng đá từcó thể được sử dụng với cách đọc kèo bóng đá bảng đơn giản, nước ngoài hoặc phân vùng hoặc với cách đọc kèo bóng đá chế độ xem cóThay vì chènTriggers.

Bạn phải chọn đặc quyền trên bảng có giá trị được đọc bởicách đọc kèo bóng đá vàovà chèn đặc quyền vào bảng vào đó cách đọc kèo bóng đá giá trị được chèn bởicách đọc kèo bóng đá từ. Nó là đủ để có cách đọc kèo bóng đá đặc quyền cột trên (cách đọc kèo bóng đá) 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ọnChính sách sẽ áp dụng choCopyBảngđếnCâu lệnh. Hiện nay,cách đọc kèo bóng đá từkhông được hỗ trợ cho cách đọc kèo bóng đá bảng có bảo mật cấp hàng. Sử dụng tương đươngChènThay vào đó.

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ữ cách đọc kèo bóng đá 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 một tệp hoặc lệnh chỉ được phép cho cách đọc kèo bóng đá siêu người dùng hoặc người dùng được cấp một trong cách đọc kèo bóng đá vai trò mặc địnhPG_READ_SERVER_FILES, pg_write_server_fileshoặ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.

27934_27951CopyvớiPSQLHướng dẫn\ Copy. \ CopyGọicách đọc kèo bóng đá từ Stdinhoặccách đọc kèo bóng đá vào stdout, và sau đó tìm nạp/lưu trữ dữ cách đọc kèo bóng đá 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.

Đề xuất tên tệp được sử dụng trongCopyLuô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ợpcách đọc kèo bóng đá vào, nhưng chocách đọc kèo bóng đá từ28787_29027

Thực hiện lệnh vớiChương trìnhCó thể bị hạn chế bởi cách đọc kèo bóng đá cơ chế kiểm soát truy cập của hệ điều hành, chẳng hạn như Selinux.

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

cho cách đọc kèo bóng đá cột nhận dạng,cách đọc kèo bóng đá từLệnh sẽ luôn ghi các giá trị cột được cung cấp trong dữ cách đọc kèo bóng đá đầu vào, nhưChènTù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 địnhDatestyleCài đặt,Datestylenên được đặt thànhISOTrước khi sử dụngcách đọc kèo bóng đá vào. Đó cũng là một ý tưởng tốt để tránh việc bán dữ cách đọc kèo bóng đá vớiIntervalStyleĐặt thànhSQL_STANDARD, vì cách đọc kèo bóng đá 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ữ cách đọc kèo bóng đá đầ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ữ cách đọc kèo bóng đá đầu ra được mã hóa trong30491_30501hoặc mã hóa máy khách hiện tại, ngay cả khi dữ cách đọc kèo bóng đá 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ách đọc kèo bóng đá vấn đề trong trường hợpcách đọc kèo bóng đá vào, nhưng bảng đích sẽ nhận được cách đọc kèo bóng đá hàng trước đó trong một30909_3092030925_31156VACUUMĐể phục hồi không gian lãng phí.

Force_NullForce_not_Nullcó 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 cách đọc kèo bóng đá chuỗi null được trích dẫn thành cách đọc kèo bóng đá giá trị null và cách đọc kèo bóng đá chuỗi null chưa được trích xuất thành cách đọc kèo bóng đá chuỗi trống.

Định dạng tệp

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

KhiTextĐịnh dạng được sử dụng, dữ cách đọc kèo bóng đá đọ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ữ cách đọc kèo bóng đá của thuộc tính. Chuỗi null được chỉ định được sử dụng thay cho các cột là null.cách đọc kèo bóng đá 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 hoặc ít cột hơn dự kiến.

Kết thúc dữ cách đọc kèo bóng đá 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 cách đọc kèo bóng đá 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ữ cách đọc kèo bóng đá để trích dẫn các ký tự dữ cách đọc kèo bóng đá 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ảiĐược đặt trước bởi một dấu gạch chéo ngược nếu chúng xuất hiện như một phần của giá trị cột: chính bản sao lại, dòng mới, trả về vận chuyển và ký tự phân cách hiện tại.

Chuỗi null được chỉ định được gửi bởicách đọc kèo bóng đá 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,cách đọc kèo bóng đá 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ư\ nKhông thể bị nhầm lẫn với giá trị dữ cách đọc kèo bóng đá thực tế\ n(sẽ được biểu diễn dưới dạng\ n).

33419_33481cách đọc kèo bóng đá 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à một đến ba chữ số bát phân chỉ định byte với mã số đó
\ xDigits 35036_35048xtheo sau là một hoặc hai chữ số hex chỉ định byte với mã số đó

Hiện tại,cách đọc kèo bóng đá vào35281_35421

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ữ cách đọc kèo bóng đá cuối cùng (\.) hoặc chuỗi null (\ nTheo mặc định). cách đọc kèo bóng đá 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ách đọc kèo bóng đá ứng dụng tạoCopyDữ cách đọc kèo bóng đá chuyển đổi dữ cách đọc kèo bóng đá Newlines và vận chuyển trở lại\ n\ rTrình tự tương ứng. Hiện tại, có thể thể hiện lợi nhuận vận chuyển dữ cách đọc kèo bóng đá bằng cách trả lại và trả lại vận chuyển, và thể hiện dữ cách đọc kèo bóng đá 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ếuCopyTệp được chuyển qua cách đọc kèo bóng đá máy khác nhau (ví dụ: từ Unix sang Windows hoặc ngược lại).

36530_36720

cách đọc kèo bóng đá vàoSẽ chấm dứt từng hàng với dòng mới kiểu UNIX (\ nHàng). 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 một tệp máy chủ; Đối với tính nhất quán trên cách đọc kèo bóng đá nền tảng,cách đọc kèo bóng đá vào stdoutLuôn gửi\ nBất kể nền tảng máy chủ.cách đọc kèo bóng đá từCó thể xử lý các dòng kết thúc bằng các đường mới, trả về 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ữ cách đọc kèo bóng đá,cách đọc kèo bóng đá từSẽ phàn nàn nếu cách đọc kèo bóng đá kết thúc dòng trong đầu vào không giống nhau.

Định dạng CSV

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ách đọc kèo bóng đá quy tắc thoát ra được sử dụng bởiPOSTGRESQL38046_38134

cách đọc kèo bóng đá 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ự, Thenull38377_38484QUOTEký tự và bất kỳ sự xuất hiện nào trong giá trị của AQUOTEký tự hoặcEscapeký tự được đi trước bởi 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ách đọc kèo bóng đá cột cụ thể.

TheCSVĐịnh dạng không có cách nào để phân biệt Anull38987_39018POSTGRESQL'SCopy39095_39125nulllà đầ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ữ cách đọc kèo bóng đá chuỗi trống được viết bằng dấu ngoặc kép (""). Đọc giá trị tuân theo cách đọc kèo bóng đá 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ách đọc kèo bóng đá cột cụ thể. Bạn cũng có thể sử dụngForce_NullĐể chuyển đổi giá trị dữ cách đọc kèo bóng đá chuỗi NULL được trích dẫn thànhnull.

Vì dấu gạch chéo ngược 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ữ cách đọc kèo bóng đá. Để tránh bất kỳ giải thích sai, A\.Giá trị dữ cách đọc kèo bóng đá 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ách đọc kèo bóng đá 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ữ cách đọc kèo bóng đá từ một hệ thống padCSVcách đọc kèo bóng đá 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ướcCSVTệp để xóa không gian trắng theo dõi, trước khi nhập dữ cách đọc kèo bóng đá 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ữ cách đọc kèo bóng đá vận chuyển được nhúng và nguồn cấp dữ cách đọc kèo bóng đá đườ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.

Lưu ý

Nhiều chương trình tạo ra cách đọc kèo bóng đá tệp CSV lạ và đôi khi đồi trụy, 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àCopyCó thể tạo cách đọc kèo bóng đá tệp mà cách đọc kèo bóng đá chương trình khác không thể xử lý.

Định dạng nhị phân

Thenhị phânTùy chọn định dạng khiến tất cả dữ cách đọc kèo bóng đá đượ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 cách đọc kèo bóng đá kiến ​​trúc máy vàPostgreSQL42294_42417SmallIntCột và đọc nó thành mộtSố nguyênCộ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, không có hoặc nhiều bộ dữ cách đọc kèo bóng đá chứa dữ cách đọc kèo bóng đá hàng và đoạn giới thiệu tệp. Tiêu đề và dữ cách đọc kèo bóng đá 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

Tiêu đề tệp bao gồm 15 byte của cách đọc kèo bóng đá trường cố định, theo sau là khu vực mở rộng tiêu đề có độ dài thay đổi. cách đọc kèo bóng đá trường cố định là:

Chữ ký

chuỗi 11 bytepgcopy \ n \ 377 \ r \ n \ 0- Lưu ý rằng số không phải là một phần bắt buộc của chữ ký. .

Trường cờ

Mặt nạ bit số nguyên 32 bit để biểu thị cách đọc kèo bóng đá khía cạnh quan trọng của định dạng tệp. Bit được đánh số từ 0 (LSB) đến 31 (MSB44020_44502

bit 16

Nếu 1, OID được bao gồm trong dữ cách đọc kèo bóng đá; 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.

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

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ữ cách đọc kèo bóng đá bổ sung có mặt trong tiêu đề. Một người đọc nên âm thầm bỏ qua bất kỳ dữ cách đọc kèo bóng đá 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 cách đọc kèo bóng đá 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.

45724_45994

Tuples

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ữ cách đọc kèo bóng đá bổ sung nào khác giữa các trường.

Hiện tại, tất cả các giá trị dữ cách đọc kèo bóng đá 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.

46886_46980PostgreSQLNguồn, đặc biệt là*Gửi*recvCác hàm cho loại dữ cách đọc kèo bóng đá 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 cách đọc kèo bóng đá cột hệ thống OID không được hỗ trợ trong cách đọc kèo bóng đá phiên bản hiện tại củaPOSTGRESQL.

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

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ữ cách đọc kèo bóng đá.

ví dụ

Ví dụ sau đây cách đọc kèo bóng đá bảng cho máy khách bằng thanh dọc (|) là dấu phân cách trường:

cách đọc kèo bóng đá quốc gia vào stdout (Delimiter '|');

Để cách đọc kèo bóng đá dữ liệu từ tệp vàoQuốc giaBảng:

cách đọc kèo bóng đá quốc gia từ '/usr1/proj/bray/sql/country_data';

Để cách đọc kèo bóng đá vào một tệp chỉ các quốc gia có tên bắt đầu bằng 'A':

48645_48754

Để cách đọc kèo bóng đá vào tệp nén, bạn có thể gửi đầu ra thông qua chương trình nén bên ngoài:

cách đọc kèo bóng đá 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 để cách đọc kèo bóng đá 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ữ cách đọc kèo bóng đá, đầu ra ở định dạng nhị phân. Dữ cách đọc kèo bóng đá đượ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ại49575_49581và thứ ba có loạiSố nguyên. Tất cả cách đọc kèo bóng đá 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

Tương thích

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Ừ  'FileName50888_50968Delimiter_Character' ]
          [Null [as] 'NULL_STRING' ]
          [CSV [Tiêu đề]
                [Trích dẫn [như] '51202_51219' ]
                [Escape [as] 'Escape_character' ]
                [Lực lượng không nullCột_name[, ...]]]]]]

cách đọc kèo bóng đáTable_Name[(Cột_name[, ...])] | (Truy vấn)
    ĐẾN  '51656_51666' | Stdout
    [ [ VỚI ]
          [Nhị phân]
          [Delimiter [as] 'Delimiter_Character' ]
          [Null [as] 'NULL_STRING' ]
          [CSV [Tiêu đề]
                [Trích dẫn [như] 'QUOTE_Character52018_52057Escape_character' ]
                [Lực lượng báo giáCột_name[, ...] | *]]]]

Lưu ý rằng trong cú pháp này,nhị phânCSVđượ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ợ:

cách đọc kèo bóng đá [nhị phân]Table_Nametừ 'FileName' | Stdin
    [[Sử dụng] Delimiters 'Delimiter_Character' ]
    [Với null là 'NULL_STRING' ]

cách đọc kèo bóng đá [nhị phân]Table_Nameđến 'FileName' | Stdout
    [[Sử dụng] Delimiters 'Delimiter_Character' ]
    [Với null là 'NULL_STRING' ]