Tạo kèo bóng đá euro - Xác định kèo bóng đá euro dữ liệu mới
Tạo kèo bóng đá eurotên
như ([Attribution_name
data_type
[đối chiếuđối chiếu
] [, ...]])) Tạo kèo bóng đá eurotên
như enum (['nhãn
' [, ...]]) Tạo kèo bóng đá eurotên
dưới dạng phạm vi ( Subtype =Subtype
[, SubType_opClass =11024_11048
] [, Đối chiếu =đối chiếu
] [, Kinh điển =Canonical_Function
] [, SubType_Diff =] [, Multirange_type_name =
Multirange_type_name
] ) Tạo kèo bóng đá eurotên
( Input =input_function
,, Đầu ra =output_function
[, nhận =nhận_function
] [, Send =send_function
] [, Typmod_in =type_modifier_input_function
] [, Typmod_out =11904_11935
] [, Phân tích =Phân tích_Function
12024_12049Subscript_function
] [, InternalLight =12167_12183
| Biến] [, PassedByValue] [, Căn chỉnh =Căn chỉnh
] [, Lưu trữ =lưu trữ
] [, Như =like_type
] [, Danh mục =thể kèo bóng đá euro
] [, Ưa thích =ưu tiên
] [, Mặc định =Mặc định
] [, Phần tử =Element
] [, Delimiter =Delimiter
] [, Collatable =có thể ghép
] ) Tạo kèo bóng đá eurotên
Tạo kèo bóng đá euro
Đă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 đá euro 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 đá euro đượ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. Tên kèo bóng đá euro phải khác biệt với tên của bất kỳ kèo bóng đá euro hoặc tên miền nào trong cùng một lược đồ. .
Có năm hình thứcTạo kèo bóng đá euro
, như thể hiện trong bản tóm tắt cú pháp ở trên. Họ tương ứng kèo bóng đá euro mộtkèo bóng đá euro tổng hợp, anenum kèo bóng đá euro, Akèo bóng đá euro phạm vi, Akèo bóng đá euro cơ sởhoặc Akèo bóng đá euro 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. Một kèo bóng đá euro vỏ chỉ đơn giản là một trình giữ chỗ cho một kèo bóng đá euro được xác định sau; nó được tạo ra bằng cách phát hànhTạo kèo bóng đá euro
Không có tham số ngoại trừ tên kèo bóng đá euro. Các kèo bóng đá euro shell là cần thiết như là tham chiếu chuyển tiếp khi tạo các kèo bóng đá euro phạm vi và kèo bóng đá euro 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 đá euro
Tạo một kèo bóng đá euro tổng hợp. kèo bóng đá euro 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 đá euro dữ liệu. Đối chiếu của một thuộc tính cũng có thể được chỉ định, nếu kèo bóng đá euro dữ liệu của nó có thể có được. Một kèo bóng đá euro tổng hợp về cơ bản giống như kèo bóng đá euro hàng của bảng, nhưng sử dụngTạo kèo bóng đá euro
14706_14894
Để có thể tạo một kèo bóng đá euro 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 đá euro thuộc tính.
Mẫu thứ hai củaTạo kèo bóng đá euro
Tạo kèo bóng đá euro được liệt kê (enum), như được mô tả trongPhần 8.7. Các kèo bóng đá euro enum lấy một danh sách các nhãn được trích dẫn, mỗi kèo bóng đá euro phải nhỏ hơnĐược đặt tên
Byte dài (64 byte trong một tiêu chuẩnPostgreSQLBuild). .PostgreSQL: Tài liệu:
.)
Mẫu thứ ba củaTạo kèo bóng đá euro
Tạo một kèo bóng đá euro phạm vi mới, như được mô tả trongPhần 8.17.
kèo bóng đá euro phạm viSubtype
có thể là bất kỳ kèo bóng đá euro 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 đá euro 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ự; Để sử dụng lớp toán tử không mặc định, chỉ định tên của nó vớiSubType_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
16773_16957Phần 8.17.8Để biết thêm thông tin. kèo bóng đá euro 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 đá euro 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 đá euro shell, đây là kèo bóng đá euro 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 đá euro
, 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 đá euro shell làm đối số và kết quả, và cuối cùng kèo bóng đá euro phạm vi có thể được khai báo bằng cùng tên. Điều này tự động thay thế mục nhập kèo bóng đá euro shell bằng kèo bóng đá euro phạm vi hợp lệ.tên
Tùy chọnSubType_Diff
Hàm phải lấy hai giá trị củaSubType
kèo bóng đá euro 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 đá euro phạm vi. Nhìn thấyPhầ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 đá euro đa kèo bóng đá euro tương ứng. Nếu không được chỉ định, tên này được chọn tự động như sau. Nếu tên kèo bóng đá euro phạm vi chứa chuỗi conphạm vi
, sau đó tên kèo bóng đá euro đ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 đá euro phạm vi. Nếu không, tên kèo bóng đá euro đ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 đá euro phạm vi.
Mẫu thứ tư củaTạo kèo bóng đá euro
19102_19299
Các 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 đá euro chức năng
) trước khi xác định kèo bóng đá euro. Các chức năng hỗ trợinput_function
vàoutput_function
được yêu cầu, trong khi các 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, các 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 đá euro 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 đá euro.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 đá eurocString
hoặc khi thực hiện ba đối số của các kèo bóng đá eurocstring
, 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 đá euro (ngoại trừ các kèo bóng đá euro mảng, thay vào đó nhận được OID kèo bóng đá euro 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 đá euro dữ liệu. Thông thường, một hàm đầu vào nên được tuyên bố nghiêm ngặt; Nếu không, nó sẽ được gọi với tham số đầu tiên của NULL khi đọc giá trị đầu vào null. Hàm vẫn phải trả về null trong trường hợp này, trừ khi nó gây ra lỗi. . Chức năng đầu ra phải trả về kèo bóng đá eurocString
. Các chức năng đầu ra không được gọi cho các giá trị null.
Tùy chọnnhận_function
21699_22320Nội bộ
hoặc khi thực hiện ba đối số của các kèo bóng đá euroNộ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; Các đối số tùy chọn giống như đối với hàm đầu vào văn bản. Hàm nhận phải trả về một giá trị của chính kèo bóng đá euro dữ liệu. Thông thường, một chức năng nhận nên được tuyên bố nghiêm ngặt; Nếu không, nó sẽ được gọi với tham số đầu tiên của NULL khi đọc giá trị đầu vào null. Hàm vẫn phải trả về null trong trường hợp này, trừ khi nó gây ra lỗi. .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 đá euro không thể tham gia vào đầu ra nhị phân. Hàm gửi phải được khai báo là lấy một đối số của kiểu dữ liệu mới. Chức năng gửi phải trả về kèo bóng đá eurobytea
. Gửi các chức năng không được gọi cho các 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 khai báo để có kết quả hoặc đối số của kèo bóng đá euro mới, khi chúng phải được tạo trước khi kèo bóng đá euro mới có thể được tạo. Câu trả lời là kèo bóng đá euro trước tiên phải được định nghĩa làkèo bóng đá euro shell23817_23936Tạo kèo bóng đá euro
, 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 đá euro shell. Cuối cùng,tên
Tạo kèo bóng đá euro
24171_24308
Tùy chọntype_modifier_input_function
vàtype_modifier_output_function
là cần thiết nếu kèo bóng đá euro 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 đá euro, chẳng hạn nhưchar (5)
hoặcSố (30,2)
. 24702_24714Cho phép các kèo bóng đá euro 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. TheTYPE_MODIFIER_INPUT_FUNCTION
được thông qua (các) công cụ sửa đổi được khai báo dưới dạng AcString
Mảng. Nó phải kiểm tra các 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ộtTYPMOD. kèo bóng đá euro sửa đổi sẽ bị từ chối nếu kèo bóng đá euro 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 biểu mẫu chính xác 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 đá euro; 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 được lưu trữ được đặt trong dấu 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 các 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 đá eurobằngvàít hơn26484_2648726492_26766Nội bộ
, và trả lại ABoolean
Kết quả. API chi tiết cho các 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 đá euro 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 đá euro được coi làTRUEHồikèo bóng đá euro mảng; Ví dụ: nó sẽ không phải là ứng cử viên cho kèo bóng đá euro kết quả củamảng []
27350_27463Subscript_function
27521_27640Nội bộ
, và trả vềNội bộ
Kết quả, là một con trỏ tới một cấu trúc các phương thức (chức năng) thực hiện đăng ký. API chi tiết cho các 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 đá euro mảngbên dưới.
28290_28527PostgreSQL. Đầu tiên trong số này làInternalLights
. Các kèo bóng đá euro 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 đá euro 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 đá euro. (Lưu ý rằng trường Độ dài thường được mã hóa, như được mô tả trongPhần 70.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 đá euro dữ liệu này được truyền theo giá trị, thay vì tham chiếu. Các kèo bóng đá euro đượ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 đá euro (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. Các giá trị được phép tương đương với sự liên kết trên các ranh giới byte 1, 2, 4 hoặc 8. Lưu ý rằng các kèo bóng đá euro có độ dài biến phải có căn chỉnh ít nhất 4, vì chúng nhất thiết phải chứaINT4
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 đá euro dữ liệu có độ dài thay đổi. (Chỉ mộttrơn
được phép cho các kèo bóng đá euro có độ dài cố định.)trơn
Chỉ định rằng dữ liệu của kèo bóng đá euro 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 các hàm của kiểu dữ liệu có thể xử lý các giá trị đã đượcNướng, như được mô tả trongPhần 70.2vàPhần 38.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 đá euro dữ liệu có thể nướng; Người dùng có thể chọn các chiến lược khác cho các cột riêng lẻ bằng cách sử dụngBộ lưu trữ bộ thay đổi
.
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 đá euro 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 đá euro đượ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 đá euro mớiPiggybacksHồiTrên một kèo bóng đá euro hiện có trong một số kiểu.
Thethể kèo bóng đá euro
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 đá euro 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 đá euro làưu tiênHồi33039_33268Chương 1033368_33653Tổng quát nhấtHồiCác kèo bóng đá euro được ưa thích trong danh mục. Thethể kèo bóng đá euro
Tham số đặc biệt hữu ích khi thêm kèo bóng đá euro 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 đá euro số hoặc chuỗi. Tuy nhiên, cũng có thể tạo các kèo bóng đá euro kèo bóng đá euro hoàn toàn mới được xác định. Chọn bất kỳ ký tự ASCII nào khác ngoài chữ cái trong trường hợp trên để đặt tên cho một danh mục như vậy.
Có thể chỉ định giá trị mặc định, trong trường hợp người dùng muốn các 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 kèo bóng đá euro là kèo bóng đá euro mảng có độ dài cố định, chỉ định kèo bóng đá euro 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 đá euro 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 thuộc kèo bóng đá euro 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 đá euro phần tử mảng, không phải kèo bóng đá euro mảng.
Nếu tham số Boolean tùy chọncó thể ghép
là đúng, định nghĩa cột và biểu thức của kèo bóng đá euro 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 đá euro để thực sự sử dụng thông tin đối chiếu; Điều này không xảy ra tự động chỉ bằng cách đánh dấu kèo bóng đá euro có thể có được.
Bất cứ khi nào một kèo bóng đá euro do người dùng xác định,PostgreSQL35905_36081Được đặt tên
Byte dài. .mảng_in
vàArray_out
. Hơn nữa, kèo bóng đá euro 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 đá euro do người dùng xác định. kèo bóng đá euro mảng theo dõi mọi thay đổi trong chủ sở hữu hoặc lược đồ của kèo bóng đá euro thành phần của nó và bị kèo bóng đá euro bỏ nếu kèo bóng đá euro 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 đá euro 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 đá euro có độ dài cố định, đó là một mảng của một số thứ giống hệt nhau và bạn muốn cho phép những điều 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 kèo bóng đá euro. Ví dụ: gõpoint
đượ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]
37398_37735
Chỉ địnhSCORSTIP
Tùy chọn cho phép kèo bóng đá euro dữ liệu được đăng ký, mặc dù hệ thống không coi nó là kèo bóng đá euro 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
Handler hàmRAW_ARRAY_SUBSCRIPT_HANDLER
, được sử dụng tự động nếu bạn chỉ địnhElement
Đối với kèo bóng đá euro 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
gây ra hệ thống cho rằng kèo bóng đá euro mới chứa hoặc phụ thuộc bằng cách nào đó vào kèo bóng đá euro phần tử; Do đó, ví dụ như thay đổi thuộc tính của kèo bóng đá euro 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 đá euro phụ thuộc.
tên
Tên (tùy chọn Lược đồ theo trình độ) của một kèo bóng đá euro sẽ được tạo.
Attribution_name
Tên của một thuộc tính (cột) cho kèo bóng đá euro tổng hợp.
data_type
Tên của một kèo bóng đá euro dữ liệu hiện có để trở thành một cột của kèo bóng đá euro 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 đá euro tổng hợp hoặc với một kèo bóng đá euro 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 đá euro enum.
SubType
Tên của kèo bóng đá euro phần tử mà kèo bóng đá euro 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 đá euro phạm vi.
SubType_Diff_Function
40879_40931
multirange_type_name
Tên của kèo bóng đá euro đa kèo bóng đá euro 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 đá euro thành dạng bên trong của nó.
output_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 đá euro 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 đá euro 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 đá euro 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 đá euro 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 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 trong byte của biểu diễn nội bộ của kèo bóng đá euro 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 đá euro dữ liệu hiện có mà kèo bóng đá euro mới sẽ có cùng một biểu diễn như. Các giá trị củaInternalLights
, passedByValue
, Căn chỉnh
44602_44610lưu trữ
được sao chép từ kèo bóng đá euro đó, 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 đá euro
lệnh.
thể kèo bóng đá euro
Mã danh mục (một ký tự ASCII duy nhất) cho kèo bóng đá euro này. Mặc định là'U'
chokèo bóng đá euro do người dùng xác địnhHồi. Các mã danh mục tiêu chuẩn khác có thể được tìm thấy trong45287_45305. Bạn cũng có thể chọn các ký tự ASCII khác để kèo bóng đá euro các danh mục tùy chỉnh.
ưu tiên
Đúng nếu kèo bóng đá euro này là kèo bóng đá euro ưa thích trong kèo bóng đá euro kèo bóng đá euro của nó, khác. Mặc định là sai. Hãy rất cẩn thận về việc tạo một kèo bóng đá euro ưa thích mới trong một kèo bóng đá euro kèo bóng đá euro hiện có, vì điều này có thể gây ra những thay đổi đáng ngạc nhiên trong hành vi.
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 đá euro được tạo là một mảng; Điều này chỉ định kèo bóng đá euro 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 đá euro này.
có thể ghép
Đúng nếu hoạt động của kèo bóng đá euro 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 đá euro dữ liệu sau khi nó được tạo, việc tạo kèo bóng đá euro cơ sở hoặc kèo bóng đá euro phạm vi tương đương với việc cấp phép thực thi công khai đối với các chức năng được đề cập trong định nghĩa kèo bóng đá euro. Đây thường không phải là một vấn đề cho các kèo bóng đá euro chức năng hữu ích trong một định nghĩa kèo bóng đá euro. Nhưng bạn có thể muốn suy nghĩ hai lần trước khi thiết kế một kèo bóng đá euro theo cách yêu cầubí mật”Thô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 đá euro mảng được tạo luôn luôn chính xác là tên của kèo bóng đá euro phần tử với một ký tự dấu gạch dưới (_
) Chuẩn bị. . Do đó, viết mã phụ thuộc vào quy ước này. Thay vào đó, sử dụngPG_TYPE
.TYPARRAY
Để định vị kèo bóng đá euro mảng được liên kết với một kèo bóng đá euro đã cho.
Có thể nên tránh sử dụng tên kèo bóng đá euro 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 đá euro 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 đá euro 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 đá euro kiểu vỏTạo kèo bóng đá euro
Không tồn tại. Cách để tạo một kèo bóng đá euro cơ sở mới là tạo chức năng đầu vào của nó trước tiên. Trong cách tiếp cận này,PostgreSQL48702_49224tên
Ví dụ này tạo ra một kèo bóng đá euro tổng hợp và sử dụng nó trong một định nghĩa hàm:
Tạo kèo bóng đá euro compfoo AS (F1 int, F2 văn bản); Tạo hàm getfoo () trả về setof compfoo dưới dạng $$ Chọn Fooid, Fooname từ Foo $$ Ngôn ngữ SQL;
Ví dụ này tạo ra một kèo bóng đá euro được liệt kê và sử dụng nó trong một định nghĩa bảng:
Tạo kèo bóng đá euro bug_status dưới dạng enum ('mới', 'mở', 'đóng'); Tạo lỗi bảng ( id serial, mô tả văn bản, trạng thái bug_status );
Ví dụ này tạo ra một kèo bóng đá euro phạm vi:
Tạo kèo bóng đá euro 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 đá euro ra kiểu dữ liệu cơ sởBox
Và sau đó sử dụng kèo bóng đá euro trong định nghĩa bảng:
Tạo hộp kèo bóng đá euro; Tạo chức năng my_box_in_function (cString) trả về hộp như ...; Tạo hàm my_box_out_function (hộp) trả về cString là ...; Tạo hộp kèo bóng đá euro ( InterlitalLight = 16, Input = my_box_in_function, Đầu ra = my_box_out_function ); Tạo bảng myboxes ( ID Số nguyên, Hộp mô tả );
Nếu cấu trúc bên trong củaBox
là một mảng gồm bốnfloat4
Các yếu tố, thay vào đó chúng ta có thể sử dụng:
Tạo hộp kèo bóng đá euro ( InterlitalLight = 16, Input = my_box_in_function, Output = my_box_out_function, Phần tử = float4 );
cho phép các số thành phần của giá trị hộp được truy cập bằng cách đăng ký. Nếu không thì kèo bóng đá euro hoạt động giống như trước đây.
Ví dụ này tạo ra một kèo bóng đá euro đối tượng lớn và sử dụng nó trong định nghĩa bảng:
Tạo kèo bóng đá euro bigobj ( Input = lo_filein, output = lo_fileout, InternalLights = Biến ); Tạo bảng BIG_OBJS ( ID Số nguyên, obj bigobj );
Các ví dụ khác, bao gồm các chức năng đầu vào và đầu ra phù hợp, là trongPhần 38.13.
Hình thức đầu tiên củaTạo kèo bóng đá euro
lệnh, tạo ra một kèo bóng đá euro tổng hợp, phù hợp vớiSQLTiêu chuẩn. Các biểu mẫu khác làPOSTGRESQLTiện ích mở rộng. TheTạo kèo bóng đá euro
câu lệnh trongSQLTiêu chuẩn cũng xác định các hình thức khác không được triển khai trongPOSTGRESQL.
Khả năng tạo kèo bóng đá euro 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ự với cùng một trường hợp trongkèo bóng đá euro bảng
).
Nếu bạn thấy bất cứ điều gì trong tài liệu không chính xác, không phù hợ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 liệu.