Tạo kèo bóng đá c1 - Xác định kèo bóng đá c1 dữ liệu mới
Tạo kèo bóng đá c1tên
nhưAttribution_Name
data_type
[đối chiếuđối chiếu
] [, ...]]))tên
như enumnhãn
' [, ...]])tên
dưới dạng phạm vi (Subtype
[, SubType_opClass =SubType_Operator_Class
]đối chiếu
]Canonical_Function
]]
Multirange_type_name
]tên
(input_function
,,output_function
[, nhận =recean_function
]send_function
]type_modifier_input_function
]type_modifier_output_function
]Phân tích_Function
]Subscript_Function
]InternalLights
| Biến]Căn chỉnh
]lưu trữ
]like_type
]thể kèo bóng đá c1
]ưu tiên
]Mặc định
]Element
]Delimiter
]có thể ghép
]tên
Tạo kèo bóng đá c1
Đăng ký một kiểu dữ liệu mới để sử dụng trong cơ sở dữ liệu hiện tại. Người dùng xác định một kèo bóng đá c1 trở thành chủ sở hữu của nó.
Nếu một tên lược đồ được đưa ra thì kèo bóng đá c1 được tạo trong lược đồ được chỉ định. Nếu không, nó được tạo ra trong lược đồ hiện tại.
Có năm hình thứcTạo kèo bóng đá c1
, như thể hiện trong bản tóm tắt cú pháp ở trên. Họ tương ứng kèo bóng đá c1 mộtkèo bóng đá c1 tổng hợp, anenum kèo bóng đá c1, Akèo bóng đá c1 phạm vi, Akèo bóng đá c1 cơ sởhoặc Akèo bóng đá c1 shell. Bốn người đầu tiên trong số này được thảo luận lần lượt bên dưới.Tạo kèo bóng đá c1
Không có tham số ngoại trừ tên kèo bóng đá c1. Các kèo bóng đá c1 shell là cần thiết như là tham chiếu chuyển tiếp khi tạo các kèo bóng đá c1 phạm vi và kèo bóng đá c1 cơ sở, như đã thảo luận trong các phần đó.
Hình thức đầu tiên củaTạo kèo bóng đá c1
Tạo một kèo bóng đá c1 tổng hợp. kèo bóng đá c1 tổng hợp được chỉ định bởi một danh sách các tên thuộc tính và kèo bóng đá c1 dữ liệu.Tạo kèo bóng đá c1
Tránh sự cần thiết phải tạo một bảng thực tế khi tất cả những gì mong muốn là xác định một kèo bóng đá c1. Một kèo bóng đá c1 tổng hợp độc lập là hữu ích, ví dụ, là đối số hoặc kèo bóng đá c1 trả về của một hàm.
Để có thể tạo một kèo bóng đá c1 tổng hợp, bạn phải cósử dụng
Đặc quyền trên tất cả các kèo bóng đá c1 thuộc tính.
Mẫu thứ hai củaTạo kèo bóng đá c1
Tạo kèo bóng đá c1 được liệt kê (enum), như được mô tả trongPhần 8.7. Các kèo bóng đá c1 enum lấy một danh sách các nhãn được trích dẫn, mỗi kèo bóng đá c1 phải nhỏ hơnĐược đặt tên
Byte dài (64 byte trong một tiêu chuẩnPostgreSQLBuild). .thay đổi kèo bóng đá c1
.)
Mẫu thứ ba củaTạo kèo bóng đá c1
Tạo một kèo bóng đá c1 phạm vi mới, như được mô tả trongPhần 8.17.
kèo bóng đá c1 phạm viSubType
có thể là bất kỳ kèo bóng đá c1 nào với lớp toán tử B-cây liên quan (để xác định thứ tự các giá trị cho kèo bóng đá c1 phạm vi). Thông thường, lớp toán tử B-cây mặc định của phân nhóm được sử dụng để xác định thứ tự;SubType_opClass
. Nếu phân nhóm có thể va chạm và bạn muốn sử dụng đối chiếu không mặc định trong thứ tự của phạm vi, hãy chỉ định đối chiếu mong muốn vớiđối chiếu
Tùy chọn.
Tùy chọnCanonical
Hàm phải lấy một đối số của kèo bóng đá c1 phạm vi được xác định và trả về giá trị của cùng kèo bóng đá c1. Điều này được sử dụng để chuyển đổi các giá trị phạm vi thành dạng kinh điển, khi áp dụng.Phần 8.17.8Để biết thêm thông tin. kèo bóng đá c1 ACanonical
Hàm là một chút khó khăn, vì nó phải được xác định trước khi kèo bóng đá c1 phạm vi có thể được khai báo. Để làm điều này, trước tiên bạn phải tạo một kèo bóng đá c1 shell, đây là kèo bóng đá c1 trình giữ chỗ không có thuộc tính ngoại trừ tên và chủ sở hữu.Tạo kèo bóng đá c1
, không có tham số bổ sung. Sau đó, hàm có thể được khai báo bằng cách sử dụng kèo bóng đá c1 shell làm đối số và kết quả, và cuối cùng kèo bóng đá c1 phạm vi có thể được khai báo bằng cùng tên.tên
Tùy chọnSubType_Diff
Hàm phải lấy hai giá trị củaSubtype
gõ làm đối số và trả về ADouble Precision
Giá trị biểu thị sự khác biệt giữa hai giá trị đã cho. Mặc dù điều này là tùy chọn, cung cấp nó cho phép hiệu quả lớn hơn của các chỉ mục GIST trên các cột thuộc kèo bóng đá c1 phạm vi.Phần 8.17.8Để biết thêm thông tin.
Tùy chọnMultirange_type_name
Tham số Chỉ định tên của kèo bóng đá c1 đa kèo bóng đá c1 tương ứng. Nếu không được chỉ định, tên này được chọn tự động như sau.phạm vi
, thì tên kèo bóng đá c1 đa dạng được hình thành bằng cách thay thếphạm vi
Multirange
Trong tên kèo bóng đá c1 phạm vi. Nếu không, tên kèo bóng đá c1 đa tính được hình thành bằng cách nối thêm một_Multirange
Hậu tố cho tên kèo bóng đá c1 phạm vi.
Mẫu thứ tư củaTạo kèo bóng đá c1
Tạo một kèo bóng đá c1 cơ sở mới (kèo bóng đá c1 vô hướng). Để tạo một kèo bóng đá c1 cơ sở mới, bạn phải là một siêu người dùng.
kèo bóng đá c1 tham số có thể xuất hiện theo bất kỳ thứ tự nào, không chỉ được minh họa ở trên, và hầu hết là tùy chọn. Bạn phải đăng ký hai hoặc nhiều chức năng (sử dụngkèo bóng đá c1 chức năng
) trước khi xác định kèo bóng đá c1. Các chức năng hỗ trợinput_function
vàoutput_function
được yêu cầu, trong khi kèo bóng đá c1 chức năngnhận_function
, Send_Function
, type_modifier_input_function
, Type_Modifier_Output_Function
, Phân tích_Function
vàSubscript_Function
là tùy chọn. Nói chung, kèo bóng đá c1 chức năng này phải được mã hóa bằng C hoặc ngôn ngữ cấp thấp khác.
Theinput_function
Chuyển đổi biểu diễn văn bản bên ngoài của kèo bóng đá c1 thành biểu diễn bên trong được sử dụng bởi các toán tử và các hàm được xác định cho kèo bóng đá c1.output_function
Thực hiện chuyển đổi ngược. Hàm đầu vào có thể được khai báo là lấy một đối số thuộc kèo bóng đá c1CSTRING
hoặc khi thực hiện ba đối số của các kèo bóng đá c1CSTRING
, OID
, Số nguyên
. Đối số đầu tiên là văn bản đầu vào dưới dạng chuỗi C, đối số thứ hai là OID riêng của kèo bóng đá c1 (ngoại trừ các kèo bóng đá c1 mảng, thay vào đó nhận được OID kèo bóng đá c1 phần tử của chúng) và thứ ba làTYPMOD
của cột đích, nếu được biết (-1 sẽ được thông qua nếu không). Hàm đầu vào phải trả về giá trị của kèo bóng đá c1 dữ liệu.cString
. kèo bóng đá c1 chức năng đầu ra không được gọi cho kèo bóng đá c1 giá trị null.
Tùy chọnnhận_function
Chuyển đổi biểu diễn nhị phân bên ngoài của kèo bóng đá c1 thành đại diện bên trong. Nếu chức năng này không được cung cấp, kèo bóng đá c1 không thể tham gia vào đầu vào nhị phân.Nội bộ
hoặc khi thực hiện ba đối số của các kèo bóng đá c1Nội bộ
, OID
, Số nguyên
. Đối số đầu tiên là một con trỏ tớiStringInfo
Bộ đệm giữ chuỗi byte nhận được; kèo bóng đá c1 đối số tùy chọn giống như đối với hàm đầu vào văn bản.Send_Function
Chuyển đổi từ biểu diễn bên trong thành biểu diễn nhị phân bên ngoài. Nếu chức năng này không được cung cấp, kèo bóng đá c1 không thể tham gia vào đầu ra nhị phân.bytea
. Gửi kèo bóng đá c1 chức năng không được gọi cho kèo bóng đá c1 giá trị null.
Bạn nên tự hỏi làm thế nào các hàm đầu vào và đầu ra có thể được tuyên bố là có kết quả hoặc đối số của kèo bóng đá c1 mới, khi chúng phải được tạo trước khi kèo bóng đá c1 mới có thể được tạo. Câu trả lời là kèo bóng đá c1 trước tiên phải được định nghĩa làkèo bóng đá c1 shell, là kèo bóng đá c1 trình giữ chỗ không có thuộc tính ngoại trừ tên và chủ sở hữu. Điều này được thực hiện bằng cách ban hành lệnhTạo kèo bóng đá c1
, không có tham số bổ sung. Sau đó, các hàm C I/O có thể được xác định tham chiếu kèo bóng đá c1 shell.tên
Tạo kèo bóng đá c1
Với định nghĩa đầy đủ thay thế cho mục nhập shell bằng định nghĩa kèo bóng đá c1 hoàn chỉnh, hợp lệ, sau đó kèo bóng đá c1 mới có thể được sử dụng bình thường.
Tùy chọntype_modifier_input_function
vàtype_modifier_output_function
là cần thiết nếu kèo bóng đá c1 hỗ trợ các công cụ sửa đổi, đó là các ràng buộc tùy chọn được gắn vào khai báo kèo bóng đá c1, chẳng hạn nhưChar (5)
hoặcSố (30,2)
. PostgreSQLCho phép các kèo bóng đá c1 do người dùng xác định lấy một hoặc nhiều hằng số hoặc định danh đơn giản làm trình sửa đổi. Tuy nhiên, thông tin này phải có khả năng được đóng gói vào một giá trị số nguyên không âm duy nhất để lưu trữ trong các danh mục hệ thống.type_modifier_input_function
được thông qua Trình sửa đổi được khai báo dưới dạng AcString
Mảng. Nó phải kiểm tra kèo bóng đá c1 giá trị cho tính hợp lệ (ném lỗi nếu chúng sai) và nếu chúng đúng, hãy trả lại một không tiêu cựcSố nguyên
Giá trị sẽ được lưu trữ dưới dạng cộtTYPMODHồi. kèo bóng đá c1 sửa đổi sẽ bị từ chối nếu kèo bóng đá c1 không cótype_modifier_input_function
. Thetype_modifier_output_function
Chuyển đổi giá trị đánh máy số nguyên bên trong trở lại đúng biểu mẫu cho màn hình người dùng. Nó phải trả về mộtcString
Giá trị là chuỗi chính xác để nối với tên kèo bóng đá c1; Ví dụSố
S chức năng có thể trả về(30,2)
. Nó được phép bỏ quatype_modifier_output_function
, trong trường hợp đó, định dạng hiển thị mặc định chỉ là giá trị số nguyên typmod được lưu trữ được đặt trong ngoặc đơn.
Tùy chọnPhân tích_Function
Thực hiện bộ sưu tập thống kê cụ thể cho kèo bóng đá c1 cột của kiểu dữ liệu. Theo mặc định,Phân tích
Sẽ cố gắng thu thập số liệu thống kê bằng cách sử dụng kèo bóng đá c1bằngHồivàít hơnHồitoán tử, nếu có lớp toán tử B-cây mặc định cho kèo bóng đá c1. Đối với các kèo bóng đá c1 phi Scalar, hành vi này có thể không phù hợp, vì vậy nó có thể được ghi đè bằng cách chỉ định chức năng phân tích tùy chỉnh.Nội bộ
, và trả lại ABoolean
Kết quả. API chi tiết cho kèo bóng đá c1 chức năng phân tích xuất hiện trongsrc/bao gồm/lệnh/chân không.h
.
Tùy chọnSubscript_function
Cho phép kèo bóng đá c1 dữ liệu được đăng ký trong các lệnh SQL. Chỉ định chức năng này không khiến kèo bóng đá c1 được coi làTRUEkèo bóng đá c1 mảng; Ví dụ: nó sẽ không phải là ứng cử viên cho kèo bóng đá c1 kết quả củamảng []
Cấu trúc. Nhưng nếu đăng ký một giá trị của kèo bóng đá c1 là một ký hiệu tự nhiên để trích xuất dữ liệu từ nó, thì mộtSubscript_Function
có thể được viết để xác định điều đó có nghĩa là gì. Hàm đăng ký phải được khai báo để lấy một đối số kèo bóng đá c1Nội bộ
, và trả vềNội bộ
Kết quả, là một con trỏ tới một cấu trúc kèo bóng đá c1 phương thức (chức năng) thực hiện đăng ký. API chi tiết cho kèo bóng đá c1 chức năng đăng ký xuất hiện trongsrc/bao gồm/nút/đăng ký.h
. Nó cũng có thể hữu ích khi đọc triển khai mảng trongSRC/Backend/Utils/ADT/Arraysub.C
hoặc mã đơn giản hơn trongPREDT/HSTORE/HSTORE_SUBS.C
. Thông tin bổ sung xuất hiện trongCác kèo bóng đá c1 mảngbên dưới.
28589_28826PostgreSQL. Đầu tiên trong số này làInternalLights
. Các kèo bóng đá c1 dữ liệu cơ sở có thể được cố định độ dài, trong trường hợp đóInternalLights
là số nguyên dương hoặc độ dài thay đổi, được biểu thị bằng cách cài đặtInternalLights
đếnBiến
. (Bên trong, điều này được biểu thị bằng cách cài đặtTyplen
đến -1.) Biểu diễn bên trong của tất cả các kèo bóng đá c1 có độ dài thay đổi phải bắt đầu với số nguyên 4 byte cho tổng độ dài của giá trị này của kèo bóng đá c1. (Lưu ý rằng trường Độ dài thường được mã hóa, như được mô tả trongPhần 66.2; không khôn ngoan khi truy cập trực tiếp.)
Cờ tùy chọnpassedByValue
chỉ ra rằng các giá trị của kèo bóng đá c1 dữ liệu này được truyền theo giá trị, thay vì tham chiếu. Các kèo bóng đá c1 được truyền theo giá trị phải có độ dài cố định và biểu diễn bên trong của chúng không thể lớn hơn kích thước củaDatum
kèo bóng đá c1 (4 byte trên một số máy, 8 byte trên các máy khác).
TheCăn chỉnh
Tham số Chỉ định căn chỉnh lưu trữ cần thiết cho kiểu dữ liệu. kèo bóng đá c1 giá trị được phép tương đương với sự liên kết trên kèo bóng đá c1 ranh giới byte 1, 2, 4 hoặc 8.INT4
Là thành phần đầu tiên của họ.
Thelưu trữ
Tham số cho phép lựa chọn các chiến lược lưu trữ cho các kèo bóng đá c1 dữ liệu có độ dài thay đổi. (Chỉ mộttrơn
được phép cho các kèo bóng đá c1 có độ dài cố định.)trơn
Chỉ định rằng dữ liệu của kèo bóng đá c1 sẽ luôn được lưu trữ nội tuyến và không được nén.mở rộng
Chỉ định rằng hệ thống trước tiên sẽ cố gắng nén giá trị dữ liệu dài và sẽ di chuyển giá trị ra khỏi hàng bảng chính nếu nó vẫn còn quá dài.bên ngoài
Cho phép giá trị được chuyển ra khỏi bảng chính, nhưng hệ thống sẽ không cố gắng nén nó.chính
Cho phép nén, nhưng không khuyến khích di chuyển giá trị ra khỏi bảng chính. .mở rộng
vàbên ngoài
Mục.)
tất cảlưu trữ
Giá trị kháctrơn
ngụ ý rằng kèo bóng đá c1 hàm của kiểu dữ liệu có thể xử lý kèo bóng đá c1 giá trị đã đượcNướng, như được mô tả trongPhần 66.2vàPhần 36.13.1. Giá trị cụ thể khác được đưa ra chỉ xác định chiến lược lưu trữ bánh mì nướng mặc định cho các cột của một kèo bóng đá c1 dữ liệu có thể nướng;Thay đổi bộ lưu trữ
.
Thelike_type
Tham số cung cấp một phương thức thay thế để chỉ định các thuộc tính biểu diễn cơ bản của kiểu dữ liệu: Sao chép chúng từ một số kèo bóng đá c1 hiện có. Các giá trị củaInternalLights
, passedByValue
, Căn chỉnh
vàlưu trữ
được sao chép từ kèo bóng đá c1 được đặt tên. (Có thể, mặc dù thường không mong muốn, để ghi đè một số giá trị này bằng cách chỉ định chúng cùng vớinhư
mệnh đề.) Chỉ định biểu diễn theo cách này đặc biệt hữu ích khi triển khai cấp thấp của kèo bóng đá c1 mớiPiggybacksTrên một kèo bóng đá c1 hiện có trong một số kiểu.
Thethể kèo bóng đá c1
vàưu tiên
Các tham số có thể được sử dụng để giúp kiểm soát diễn viên ngầm sẽ được áp dụng trong các tình huống mơ hồ. Mỗi kèo bóng đá c1 dữ liệu thuộc về một danh mục được đặt tên bởi một ký tự ASCII và mỗi kèo bóng đá c1 làưu tiênhoặc không trong danh mục của nó. Trình phân tích cú pháp sẽ thích đúc theo các kèo bóng đá c1 ưa thích (nhưng chỉ từ các kèo bóng đá c1 khác trong cùng một danh mục) khi quy tắc này hữu ích trong việc giải quyết các chức năng hoặc toán tử quá tải.Chương 10. Đối với các kèo bóng đá c1 không có diễn viên ngầm đến hoặc từ bất kỳ kèo bóng đá c1 nào khác, nó là đủ để để các cài đặt này theo mặc định.Tổng quát nhấtCác kèo bóng đá c1 được ưa thích trong danh mục. Thethể kèo bóng đá c1
Tham số đặc biệt hữu ích khi thêm kèo bóng đá c1 do người dùng xác định vào danh mục tích hợp hiện có, chẳng hạn như các kèo bóng đá c1 số hoặc chuỗi. Tuy nhiên, cũng có thể tạo các kèo bóng đá c1 kèo bóng đá c1 hoàn toàn mới được xác định.
Có thể chỉ định giá trị mặc định, trong trường hợp người dùng muốn kèo bóng đá c1 cột của kiểu dữ liệu mặc định là một cái gì đó khác với giá trị null. Chỉ định mặc định vớiMặc định
Từ khóa. (Một mặc định như vậy có thể được ghi đè bởi một rõ ràngmặc định
mệnh đề được gắn vào một cột cụ thể.)
Để chỉ ra rằng một kèo bóng đá c1 là kèo bóng đá c1 mảng có độ dài cố định, chỉ định kèo bóng đá c1 của các phần tử mảng bằng cách sử dụngElement
Từ khóa. Ví dụ: để xác định một mảng số nguyên 4 byte (INT4
), Chỉ địnhElement = int4
. Để biết thêm chi tiết, xemCác kèo bóng đá c1 mảngbên dưới.
Để chỉ ra dấu phân cách được sử dụng giữa các giá trị trong biểu diễn bên ngoài của các mảng kèo bóng đá c1 này,Delimiter
có thể được đặt thành một ký tự cụ thể. DELIMITER mặc định là dấu phẩy (,
). Lưu ý rằng dấu phân cách được liên kết với kèo bóng đá c1 phần tử mảng, không phải kèo bóng đá c1 mảng.
Nếu tham số Boolean tùy chọncó thể ghép
là đúng, định nghĩa cột và các biểu thức của kèo bóng đá c1 có thể mang thông tin đối chiếu thông qua việc sử dụngđối chiếu
mệnh đề. Tùy thuộc vào việc triển khai các chức năng hoạt động trên kèo bóng đá c1 để thực sự sử dụng thông tin đối chiếu;
Bất cứ khi nào một kèo bóng đá c1 do người dùng xác định,PostgreSQL36204_36380Được đặt tên
Byte dài. .mảng_in
vàArray_out
. Hơn nữa, kèo bóng đá c1 này là những gì hệ thống sử dụng cho các cấu trúc nhưmảng []
qua kèo bóng đá c1 do người dùng xác định. kèo bóng đá c1 mảng theo dõi mọi thay đổi trong chủ sở hữu hoặc lược đồ của kèo bóng đá c1 thành phần của nó và bị kèo bóng đá c1 bỏ nếu kèo bóng đá c1 phần tử là.
Bạn có thể hỏi một cách hợp lý lý do tại sao cóElement
Tùy chọn, nếu hệ thống tự động thực hiện kèo bóng đá c1 mảng chính xác. Trường hợp chính mà nó hữu ích để sử dụngElement
là khi bạn đang tạo một kèo bóng đá c1 có độ dài cố định, đó là một mảng của một số điều giống hệt nhau và bạn muốn cho phép những thứ này được truy cập trực tiếp bằng cách đăng ký, ngoài bất kỳ hoạt động nào bạn có kế hoạch cung cấp cho toàn bộ kèo bóng đá c1. Ví dụ: gõđiểm
được biểu diễn dưới dạng hai số điểm nổi, có thể được truy cập bằng cách sử dụngđiểm [0]
vàđiểm [1]
. Lưu ý rằng cơ sở này chỉ hoạt động cho các kèo bóng đá c1 có độ dài cố định có dạng bên trong chính xác là một chuỗi các trường có độ dài cố định giống hệt nhau.
Chỉ địnhĐăng ký
Tùy chọn cho phép kèo bóng đá c1 dữ liệu được đăng ký, mặc dù hệ thống không coi nó là kèo bóng đá c1 mảng. Hành vi vừa được mô tả cho các mảng có độ dài cố định thực sự được thực hiện bởiSCORSTION
Chức năng HandlerRAW_ARRAY_SUBSCRIPT_HANDLER
, được sử dụng tự động nếu bạn chỉ địnhElement
Đối với kèo bóng đá c1 có độ dài cố định mà không viếtĐăng ký
.
Khi chỉ định tùy chỉnhĐăng ký
Hàm, không cần thiết phải chỉ địnhElement
trừ khiSCORSTION
Chức năng xử lý cần tham khảo ý kiếnTypelem
Để tìm hiểu những gì sẽ trở lại. Hãy biết rằng chỉ địnhElement
khiến hệ thống cho rằng kèo bóng đá c1 mới chứa hoặc bằng cách nào đó phụ thuộc vào vật lý vào kèo bóng đá c1 phần tử; Do đó, ví dụ như thay đổi thuộc tính của kèo bóng đá c1 phần tử sẽ không được phép nếu có bất kỳ cột nào thuộc kèo bóng đá c1 phụ thuộc.
tên
Tên (tùy chọn Lược đồ theo trình độ) của một kèo bóng đá c1 sẽ được tạo.
thuộc tính_name
Tên của một thuộc tính (cột) cho kèo bóng đá c1 tổng hợp.
data_type
Tên của một kèo bóng đá c1 dữ liệu hiện có để trở thành một cột của kèo bóng đá c1 tổng hợp.
đối chiếu
Tên của một đối chiếu hiện có được liên kết với một cột của một kèo bóng đá c1 tổng hợp hoặc với một kèo bóng đá c1 phạm vi.
nhãn
Một chuỗi theo nghĩa đen đại diện cho nhãn văn bản được liên kết với một giá trị của một kèo bóng đá c1 enum.
Subtype
Tên của kèo bóng đá c1 phần tử mà kèo bóng đá c1 phạm vi sẽ đại diện cho phạm vi của.
SubType_Operator_Class
Tên của lớp toán tử B-cây cho phân nhóm.
Canonical_Function
Tên của hàm Canonicalization cho kèo bóng đá c1 phạm vi.
Tên của hàm khác biệt cho phân nhóm.
Multirange_type_name
Tên của kèo bóng đá c1 đa kèo bóng đá c1 tương ứng.
input_function
Tên của hàm chuyển đổi dữ liệu từ dạng văn bản bên ngoài của kèo bóng đá c1 thành dạng bên trong của nó.
output_function
Tên của một hàm chuyển đổi dữ liệu từ dạng bên trong của kèo bóng đá c1 thành dạng văn bản bên ngoài của nó.
nhận_function
Tên của hàm chuyển đổi dữ liệu từ dạng nhị phân bên ngoài của kèo bóng đá c1 thành dạng bên trong của nó.
send_function
Tên của hàm chuyển đổi dữ liệu từ dạng bên trong của kèo bóng đá c1 thành dạng nhị phân bên ngoài của nó.
type_modifier_input_function
Tên của hàm chuyển đổi một mảng (các) công cụ sửa đổi cho kèo bóng đá c1 thành dạng nội bộ.
type_modifier_output_function
Tên của hàm chuyển đổi dạng bên trong của (các) công cụ sửa đổi của kèo bóng đá c1 thành dạng văn bản bên ngoài.
Phân tích_Function
Tên của hàm thực hiện phân tích thống kê cho kiểu dữ liệu.
Subscript_function
Tên của hàm xác định đăng ký giá trị của kiểu dữ liệu.
InternalLights
Một hằng số số chỉ định độ dài tính theo byte của biểu diễn nội bộ của kèo bóng đá c1 mới. Giả định mặc định là nó có độ dài thay đổi.
Căn chỉnh
Yêu cầu căn chỉnh lưu trữ của kiểu dữ liệu. Nếu được chỉ định, nó phải làchar
, INT2
, INT4
hoặcDouble
; Mặc định làINT4
.
lưu trữ
Chiến lược lưu trữ cho kiểu dữ liệu. Nếu được chỉ định, phải làtrơn
, bên ngoài
, mở rộng
hoặcchính
; Mặc định làtrơn
.
like_type
Tên của một kèo bóng đá c1 dữ liệu hiện có mà kèo bóng đá c1 mới sẽ có cùng một biểu diễn như. Các giá trị củaInternalLights
, PassedByValue
, Căn chỉnh
vàlưu trữ
được sao chép từ kèo bóng đá c1 đó, trừ khi được ghi đè bởi thông số kỹ thuật rõ ràng ở nơi khác trong nàyTạo kèo bóng đá c1
lệnh.
thể kèo bóng đá c1
Mã danh mục (một ký tự ASCII duy nhất) cho kèo bóng đá c1 này. Mặc định là'U'
chokèo bóng đá c1 do người dùng xác địnhHồi. kèo bóng đá c1 mã danh mục tiêu chuẩn khác có thể được tìm thấy trongBảng 52.65. Bạn cũng có thể chọn các ký tự ASCII khác để kèo bóng đá c1 các danh mục tùy chỉnh.
ưu tiên
Đúng nếu kèo bóng đá c1 này là kèo bóng đá c1 ưa thích trong kèo bóng đá c1 kèo bóng đá c1 của nó, khác. Mặc định là sai.
Mặc định
Giá trị mặc định cho kiểu dữ liệu. Nếu điều này bị bỏ qua, mặc định là null.
Element
kèo bóng đá c1 được tạo là một mảng; Điều này chỉ định kèo bóng đá c1 phần tử mảng.
Delimiter
ký tự phân cách được sử dụng giữa các giá trị trong các mảng được làm từ kèo bóng đá c1 này.
có thể ghép
Đúng nếu hoạt động của kèo bóng đá c1 này có thể sử dụng thông tin đối chiếu. Mặc định là sai.
Vì không có hạn chế sử dụng kèo bóng đá c1 dữ liệu sau khi nó được tạo, việc tạo kèo bóng đá c1 cơ sở hoặc kèo bóng đá c1 phạm vi tương đương với việc cấp phép thực thi công khai trên các chức năng được đề cập trong định nghĩa kèo bóng đá c1. Đây thường không phải là một vấn đề cho các kèo bóng đá c1 chức năng hữu ích trong một định nghĩa kèo bóng đá c1.bí mậtHồiThông tin sẽ được sử dụng trong khi chuyển đổi nó thành hoặc từ hình thức bên ngoài.
trướcPOSTGRESQLPhiên bản 8.3, tên của một kèo bóng đá c1 mảng được tạo luôn luôn chính xác là tên của kèo bóng đá c1 phần tử với một ký tự dấu gạch dưới (_
) Chuẩn bị. .PG_TYPE
.Typarray
Để định vị kèo bóng đá c1 mảng được liên kết với một kèo bóng đá c1 đã cho.
Có thể nên tránh sử dụng tên kèo bóng đá c1 và bảng bắt đầu bằng dấu gạch dưới. Mặc dù máy chủ sẽ thay đổi tên kèo bóng đá c1 mảng được tạo để tránh va chạm với tên người dùng, nhưng vẫn có nguy cơ nhầm lẫn, đặc biệt là phần mềm khách hàng cũ có thể cho rằng tên kèo bóng đá c1 bắt đầu với dấu gạch dưới luôn đại diện cho các mảng.
trướcPOSTGRESQLPhiên bản 8.2, Cú pháp kèo bóng đá c1 kiểu ShellTạo kèo bóng đá c1
Không tồn tại. Cách để tạo một kèo bóng đá c1 cơ sở mới là tạo chức năng đầu vào của nó trước tiên.POSTGRESQLTrước tiên sẽ xem tên của kèo bóng đá c1 dữ liệu mới là kèo bóng đá c1 trả về của hàm đầu vào. kèo bóng đá c1 vỏ được tạo ra hoàn toàn trong tình huống này, và sau đó nó có thể được tham chiếu trong các định nghĩa của các hàm I/O còn lại.tên
inPOSTGRESQLPhiên bản 16 trở lên, nó là mong muốn cho các chức năng đầu vào của các kèo bóng đá c1 cơ sở để trả vềmềmKhănLỗi sử dụng mớierrsave ()
/ereturn ()
cơ chế, thay vì némEREPORT ()
ngoại lệ như trong kèo bóng đá c1 phiên bản trước. Nhìn thấySRC/Backend/Utils/fmgr/readme
Để biết thêm thông tin.
Ví dụ này tạo ra một kèo bóng đá c1 tổng hợp và sử dụng nó trong một định nghĩa hàm:
Tạo kèo bóng đá c1 compfoo AS (F1 int, F2 văn bản);
Ví dụ này tạo ra một kèo bóng đá c1 được liệt kê và sử dụng nó trong một định nghĩa bảng:
Tạo kèo bóng đá c1 bug_status dưới dạng enum ('mới', 'mở', 'đóng');
Ví dụ này tạo ra một kèo bóng đá c1 phạm vi:
Tạo kèo bóng đá c1 float8_range dưới dạng phạm vi (phân nhóm = float8, subtype_diff = float8mi);
Ví dụ này kèo bóng đá c1 ra kiểu dữ liệu cơ sởBox
Và sau đó sử dụng kèo bóng đá c1 trong định nghĩa bảng:
Tạo hộp kèo bóng đá c1;
Nếu cấu trúc bên trong củaBox
là một mảng gồm bốnfloat4
kèo bóng đá c1 yếu tố, thay vào đó chúng ta có thể sử dụng:
Tạo hộp kèo bóng đá c1 (
cho phép truy cập số thành phần của giá trị hộp bằng cách đăng ký. Nếu không thì kèo bóng đá c1 hoạt động giống như trước đây.
Ví dụ này tạo ra một kèo bóng đá c1 đối tượng lớn và sử dụng nó trong định nghĩa bảng:
Tạo kèo bóng đá c1 bigobj (
kèo bóng đá c1 ví dụ khác, bao gồm kèo bóng đá c1 chức năng đầu vào và đầu ra phù hợp, là trongPhần 36.13.
Hình thức đầu tiên củaTạo kèo bóng đá c1
lệnh, tạo ra một kèo bóng đá c1 tổng hợp, phù hợp vớiSQLTiêu chuẩn. kèo bóng đá c1 biểu mẫu khác làPostgreSQLTiện ích mở rộng. TheTạo kèo bóng đá c1
câu lệnh trongSQLTiêu chuẩn cũng xác định kèo bóng đá c1 hình thức khác không được triển khai trongPOSTGRESQL.
Khả năng tạo kèo bóng đá c1 tổng hợp với các thuộc tính bằng không làPOSTGRESQL-Specific độ lệch so với tiêu chuẩn (tương tự như cùng một trường hợp trongkèo bóng đá c1 bảng
).