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
Tài kèo bóng đá euro 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ác phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

8.13.kèo bóng đá euroloại

Thekèo bóng đá euroKiểu dữ liệu có thể được sử dụng để lưu trữ dữ liệu kèo bóng đá euro. Ưu điểm của nó so với việc lưu trữ dữ liệu kèo bóng đá euro trong một​​TextTrường là nó kiểm tra các giá trị đầu vào cho độ được hình thành tốt và có các chức năng hỗ trợ để thực hiện các hoạt động an toàn loại trên đó; nhìn thấyPhần 9,14. Việc sử dụng kiểu dữ kèo bóng đá euro này yêu cầu cài đặt đã được xây dựng vớiĐịnh cấu hình-với-Libxml.

Thekèo bóng đá euroLoại có thể lưu trữ tốt"Tài kèo bóng đá euro", theo định nghĩa của tiêu chuẩn kèo bóng đá euro, cũng như"Nội dung"các đoạn, được xác định bằng tham chiếu đến cho phép hơn"Nút tài kèo bóng đá euro"của mô hình dữ kèo bóng đá euro XQuery và XPath. Một cách thô bạo, điều này có nghĩa là các đoạn nội dung có thể có nhiều hơn một phần tử cấp hoặc nút ký tự. Biểu thứcxmlvaluelà tài kèo bóng đá eurocó thể được sử dụng để đánh giá xem một cụ thểkèo bóng đá euroGiá trị là một tài kèo bóng đá euro đầy đủ hoặc chỉ một đoạn nội dung.

8.13.1. Tạo các giá trị kèo bóng đá euro

Để tạo ra giá trị loạikèo bóng đá euroTừ dữ kèo bóng đá euro ký tự, sử dụng hàmxmlparse:

xmlparse (tài kèo bóng đá euro | nội dunggiá trị)

Ví dụ:

xmlparse (tài liệu '<? kèo bóng đá euro phiên bản = "1.0"?
Xmlparse (nội dung 'abc <foo thanh </foo <barb foo </bar')

11171_11309

kèo bóng đá euro '<foo Bar </foo' '
'<foo thanh </foo' :: kèo bóng đá euro

cũng có thể được sử dụng.

Thekèo bóng đá euro11470_11708

Hoạt động nghịch đảo, tạo ra giá trị chuỗi ký tự từkèo bóng đá euro, sử dụng chức năngxmlserialize:

XMLSerialize (Document | Nội dunggiá trịASloại)

loạicó thểNhân vật, Nhân vật khác nhauhoặcText(hoặc bí danh cho một trong số đó). Một lần nữa, theo tiêu chuẩn SQL, đây là cách duy nhất để chuyển đổi giữa loạikèo bóng đá eurovà các loại ký tự, nhưng PostgreSQL cũng cho phép bạn chỉ cần sử dụng giá trị.

Khi giá trị chuỗi ký tự được chuyển đến hoặc từ loạikèo bóng đá euroKhông cần trải quaxmlparsehoặcXMLSerialize, tương ứng, sự lựa chọn củaDocumentso vớiNội dungđược xác định bởi"Tùy chọn kèo bóng đá euro"Tham số cấu hình phiên, có thể được đặt bằng lệnh tiêu chuẩn:

Đặt tùy chọn kèo bóng đá euro Document | NỘI DUNG ;

hoặc cú pháp giống như PostgreSQL

Đặt xmloption thành Document | NỘI DUNG ;

Mặc định làNội dung, Vì vậy, tất cả các dạng dữ liệu kèo bóng đá euro đều được cho phép.

8.13.2. Xử lý mã hóa

Phải cẩn thận khi xử lý nhiều mã hóa ký tự trên máy khách, máy chủ và trong dữ liệu kèo bóng đá euro được truyền qua chúng. Khi sử dụng chế độ văn bản để chuyển các truy vấn đến máy chủ và kết quả truy vấn cho máy khách (là chế độ bình thường), PostgreSQL đã chuyển đổi tất cả dữ liệu ký tự được truyền giữa máy khách và máy chủ và ngược lại thành mã hóa ký tự của đầu tương ứng; nhìn thấyPhần 22.3. Điều này bao gồm các biểu diễn chuỗi của các giá trị kèo bóng đá euro, chẳng hạn như trong các ví dụ trên. Điều này thường có nghĩa là các khai báo mã hóa có trong dữ liệu kèo bóng đá euro có thể trở nên không hợp lệ khi dữ liệu ký tự được chuyển đổi sang các mã hóa khác trong khi di chuyển giữa máy khách và máy chủ, vì khai báo mã hóa được nhúng không thay đổi. Để đối phó với hành vi này, các khai báo mã hóa có trong các chuỗi ký tự được trình bày cho đầu vào cho14090_14095Loại làbị bỏ qua14157_14558kèo bóng đá euroSẽ không có khai báo mã hóa và khách hàng nên giả sử tất cả dữ kèo bóng đá euro nằm trong mã hóa máy khách hiện tại.

14698_15239

Không cần phải nói, xử lý dữ liệu kèo bóng đá euro với PostgreSQL sẽ dễ bị lỗi hơn và hiệu quả hơn nếu mã hóa dữ liệu kèo bóng đá euro, mã hóa máy khách và mã hóa máy chủ là như nhau. Vì dữ liệu kèo bóng đá euro được xử lý nội bộ trong UTF-8, các tính toán sẽ hiệu quả nhất nếu mã hóa máy chủ cũng là UTF-8.

THẬN TRỌNG

Một số hàm liên quan đến kèo bóng đá euro có thể không hoạt động trên dữ liệu không phải ASCII khi mã hóa máy chủ không phải là UTF-8. Đây được biết đến là một vấn đề choxpath ()đặc biệt.

8.13.3. Truy cập các giá trị kèo bóng đá euro

Thekèo bóng đá euro16064_16314kèo bóng đá euroCột so với giá trị tìm kiếm. Do đó, các giá trị kèo bóng đá euro thường được kèm theo một trường khóa riêng biệt như ID. Một giải pháp thay thế để so sánh các giá trị kèo bóng đá euro là chuyển đổi chúng thành các chuỗi ký tự trước, nhưng lưu ý rằng so sánh chuỗi ký tự ít liên quan đến phương pháp so sánh kèo bóng đá euro hữu ích.

Vì không có toán tử so sánh chokèo bóng đá euroKiểu dữ liệu, không thể tạo một chỉ mục trực tiếp trên một cột thuộc loại này. Nếu các tìm kiếm nhanh chóng trong dữ liệu kèo bóng đá euro được mong muốn, các cách giải quyết có thể có bao gồm đúc biểu thức thành một loại chuỗi ký tự và lập chỉ mục đó hoặc lập chỉ mục biểu thức XPath. Tất nhiên, truy vấn thực tế sẽ phải được điều chỉnh để tìm kiếm bằng biểu thức được lập chỉ mục.

Chức năng tìm kiếm văn bản trong PostgreSQL cũng có thể được sử dụng để tăng tốc các tìm kiếm toàn diện của dữ liệu kèo bóng đá euro. Tuy nhiên, hỗ trợ tiền xử lý cần thiết chưa có sẵn trong phân phối PostgreSQL.