Tài liệu 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 cho토토 꽁 머니 43_19Phiê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ế.

F.15. 토토 사이트 순위

Mô -đun này thực hiện토토 사이트 순위Kiểu dữ liệu để lưu trữ các bộ khóa/giá trị trong mộtPOSTGRESQLGiá trị. Điều này có thể hữu ích trong các kịch bản khác nhau, chẳng hạn như các hàng có nhiều thuộc tính hiếm khi được kiểm tra hoặc dữ liệu bán cấu trúc. Các khóa và giá trị chỉ đơn giản là chuỗi văn bản.

F.15.1.토토 사이트 순위Biểu diễn bên ngoài

Biểu diễn văn bản của토토 사이트 순위, được sử dụng cho đầu vào và đầu ra, bao gồm 0 hoặc nhiều hơnKey = giá trịCác cặp được phân tách bằng dấu phẩy. Một số ví dụ:

k = v
foo = thanh, baz = bất cứ điều gì
"1-a" = "bất cứ điều gì ở tất cả"

Thứ tự của các cặp không đáng kể (và có thể không được sao chép trên đầu ra). Khoảng trắng giữa các cặp hoặc xung quanh=Dấu hiệu bị bỏ qua. Các phím và giá trị trích dẫn kép bao gồm khoảng trắng, dấu phẩy,=S hoặcs. Để bao gồm một báo giá kép hoặc dấu gạch chéo ngược trong một khóa hoặc giá trị, hãy thoát nó bằng một dấu gạch chéo ngược.

mỗi khóa trong một토토 사이트 순위là duy nhất. Nếu bạn khai báo토토 사이트 순위Với các khóa trùng lặp, chỉ có một cái sẽ được lưu trữ trong토토 사이트 순위Và không có gì đảm bảo sẽ được giữ:

Chọn 'a = 1, a = 2' :: 토토 사이트 순위;
  hstore
----------
 "A" = "1"

Một giá trị (nhưng không phải là khóa) có thể là SQLnull. Ví dụ:

key = null

ThenullTừ khóa không nhạy cảm với trường hợp. Hai phần trích dẫnnullĐể coi nó là chuỗi thông thường"null".

Lưu ý:Hãy nhớ rằng토토 사이트 순위Định dạng văn bản, khi được sử dụng cho đầu vào, áp dụngtrướcBất kỳ trích dẫn hoặc thoát yêu cầu nào. Nếu bạn đang vượt qua토토 사이트 순위theo nghĩa đen thông qua một tham số, sau đó không cần xử lý bổ sung. Nhưng nếu bạn đang chuyển nó dưới dạng hằng số theo nghĩa đen được trích dẫn, thì bất kỳ ký tự nào một cách nào và (tùy thuộc vào cài đặt củaStandard_Conforming_StringsTham số cấu hình) Các ký tự Backslash cần được thoát chính xác. Nhìn thấyPhần 4.1.2.1Để biết thêm về việc xử lý các hằng số chuỗi.

trên đầu ra, báo giá đôi luôn bao quanh các khóa và giá trị, ngay cả khi nó không hoàn toàn cần thiết.

F.15.2.토토 사이트 순위Người vận hành và chức năng

Các toán tử được cung cấp bởi토토 사이트 순위Mô -đun được hiển thị trongBảng F-8, các chức năng trongBảng F-9.

Bảng F-8.토토 사이트 순위toán tử

Nhà điều hành Mô tả Ví dụ result
토토 사이트 순위 - Text Nhận giá trị cho khóa (nullNếu không có) 'a = x, b = y' :: 토토 사이트 순위 - 'a' x
토토 사이트 순위 - Text [] Nhận giá trị cho các khóa (nullNếu không có) 'a = x, b = y, c = z' :: 토토 사이트 순위 - mảng ['c', 'a'] "z", "x"
토토 사이트 순위 || 토토 사이트 순위 Concatenate토토 사이트 순위S 'a = b, c = d' :: hstore || 'c = x, d = q' :: hstore "A" = "B", "C" = "X", "D" = "Q"
토토 사이트 순위 ? Text không토토 사이트 순위chứa khóa? 'A = 1' :: 토토 사이트 순위? 'Một' T
토토 사이트 순위 ? & Text [] không토토 사이트 순위chứa tất cả các khóa được chỉ định? 'a = 1, b = 2' :: 토토 사이트 순위? & Array ['A', 'B'] T
토토 사이트 순위 ? | Text [] không토토 사이트 순위chứa bất kỳ khóa nào được chỉ định? 'a = 1, b = 2' :: 토토 사이트 순위? | Mảng ['b', 'c'] T
토토 사이트 순위 @ 토토 사이트 순위 Vận hành bên trái có chứa phải không? 'a = b, b = 1, c = null' :: hstore @ 'b = 1' T
토토 사이트 순위 <@ 토토 사이트 순위 là toán hạng bên trái có ở bên phải? 'A = C' :: 토토 사이트 순위 <@ 'a = B, b = 1, c = null' f
토토 사이트 순위 - Text Xóa phím từ toán hạng bên trái 'a = 1, b = 2, c = 3' :: 토토 사이트 순위 - 'b' :: text "A" = "1", "C" = "3"
토토 사이트 순위 - Text [] Xóa các phím từ toán hạng bên trái 'a = 1, b = 2, c = 3' :: 토토 사이트 순위 - mảng ['a', 'b'] "C" = "3"
토토 사이트 순위 - 토토 사이트 순위 Xóa các cặp khớp từ toán hạng bên trái 'a = 1, b = 2, c = 3' :: 토토 사이트 순위 - 'a = 4, b = 2' :: 토토 사이트 순위 "A" = "1", "C" = "3"
Record #= 토토 사이트 순위 Thay thế các trường trongRecordvới các giá trị phù hợp từ토토 사이트 순위 Xem ví dụ phần
%% 토토 사이트 순위 Chuyển đổi토토 사이트 순위Để mảng các khóa và giá trị xen kẽ %% 'a = foo, b = bar' :: hstore a, foo, b, bar
%# 토토 사이트 순위 Chuyển đổi토토 사이트 순위16283_16320 %# 'a = foo, b = bar' :: hstore a, foo, b, bar

Lưu ý:Trước PostgreSQL 8.2, toán tử ngăn chặn@<@được gọi là@~, tương ứng. Những cái tên này vẫn có sẵn, nhưng không được chấp nhận và cuối cùng sẽ bị xóa. Lưu ý rằng các tên cũ được đảo ngược từ Công ước trước đây là các loại dữ liệu hình học cốt lõi!

Bảng F-9.토토 사이트 순위chức năng

chức năng Loại trả lại Mô tả Ví dụ result
토토 사이트 순위 (ghi) 토토 사이트 순위 Xây dựng một토토 사이트 순위Từ bản ghi hoặc hàng 토토 사이트 순위 (hàng (1,2)) f1 = 1, f2 = 2
토토 사이트 순위 (văn bản []) 토토 사이트 순위 Xây dựng토토 사이트 순위Từ một mảng, có thể là một mảng khóa/giá trị hoặc mảng hai chiều 토토 사이트 순위 (mảng ['a', '1', 'b', '2']) || hstore (mảng [['c', '3'], ['d', '4']])) a = 1, b = 2, c = 3, d = 4
토토 사이트 순위 (văn bản [], văn bản []) 토토 사이트 순위 Xây dựng một토토 사이트 순위Từ các mảng khóa và giá trị riêng biệt 토토 사이트 순위 (mảng ['a', 'b'], mảng ['1', '2']) "A" = "1", "B" = "2"
토토 사이트 순위 (văn bản, văn bản) 토토 사이트 순위 Làm đơn lẻ토토 사이트 순위 토토 사이트 순위 ('A', 'B') "A" = "B"
akeys (토토 사이트 순위) Text [] Nhận토토 사이트 순위S phím như một mảng akeys ('a = 1, b = 2') a, b
SKEYS (토토 사이트 순위) Setof Text GET토토 사이트 순위's Keys As a Set SKEYS ('A = 1, B = 2')
a
B
Avals (토토 사이트 순위) Text [] GET토토 사이트 순위'giá trị dưới dạng mảng Avals ('a = 1, b = 2') 1,2
svals (토토 사이트 순위) Setof Text Nhận토토 사이트 순위s giá trị như một tập hợp svals ('a = 1, b = 2')
1
2
토토 사이트 순위_to_array (토토 사이트 순위) Text [] Get토토 사이트 순위19787_19850 토토 사이트 순위_to_array ('a = 1, b = 2') a, 1, b, 2
토토 사이트 순위_to_matrix (토토 사이트 순위) Text [] get토토 사이트 순위s Keys và giá trị như một mảng hai chiều 토토 사이트 순위_to_matrix ('a = 1, b = 2') a, 1, b, 2
토토 사이트 순위_to_json (토토 사이트 순위) JSON GET토토 사이트 순위như mộtJSONGiá trị, chuyển đổi tất cả các giá trị không null thành chuỗi JSON "A Key": "1", "B": "T", "C": null, "D": "12345", "E": "012345", "F": "1.234"
토토 사이트 순위_to_jsonb (토토 사이트 순위) JSONB GET토토 사이트 순위như mộtJSONBGiá trị, chuyển đổi tất cả các giá trị không null thành chuỗi JSON "A Key": "1", "B": "T", "C": NULL, "D": "12345", "E": "012345", "F": "1.234"
HSTORE_TO_JSON_LOOSE (hstore) json GET토토 사이트 순위như mộtjsonGiá trị, nhưng cố gắng phân biệt các giá trị số và boolean để chúng không được trình bày trong JSON "A Key": 1, "B": True, "C": NULL, "D": 12345, "E": "012345", "F": 1.234, "G"
hstore_to_jsonb_loose (hstore) JSONB GET토토 사이트 순위như mộtJSONBGiá trị, nhưng cố gắng phân biệt các giá trị số và boolean để chúng không được trình bày trong JSON "A Key": 1, "B": True, "C": NULL, "D": 12345, "E": "012345", "F": 1.234, "G"
Slice (토토 사이트 순위, văn bản []) 토토 사이트 순위 Trích xuất một tập hợp con토토 사이트 순위 Slice ('a = 1, b = 2, c = 3' :: 토토 사이트 순위, mảng ['b', 'c', 'x']) "B" = "2", "C" = "3"
mỗi (토토 사이트 순위) setof (văn bản chính, văn bản giá trị) GET토토 사이트 순위'các phím và giá trị như một tập hợp Chọn * từ mỗi ('a = 1, b = 2')
khóa | giá trị
-----+-------
 A | 1
 B | 2
tồn tại (토토 사이트 순위, văn bản) Boolean không토토 사이트 순위chứa khóa? tồn tại ('a = 1', 'a') T
được xác định (토토 사이트 순위, văn bản) Boolean không토토 사이트 순위chứa khôngnullGiá trị cho khóa? được xác định ('a = null', 'a') f
Xóa (토토 사이트 순위, văn bản) 토토 사이트 순위 Xóa cặp với phím khớp Xóa ('A = 1, B = 2', 'B') "A" = "1"
Xóa (토토 사이트 순위, Text []) 토토 사이트 순위 Xóa các cặp với các phím phù hợp Xóa ('a = 1, b = 2, c = 3', mảng ['a', 'b']) "C" = "3"
Xóa (토토 사이트 순위, 토토 사이트 순위) 토토 사이트 순위 Xóa các cặp khớp với các cặp trong đối số thứ hai Xóa ('a = 1, b = 2', 'a = 4, b = 2' :: 토토 사이트 순위) "A" = "1"
Population_Record (Record, 토토 사이트 순위) Record Thay thế các trường trongRecordVới các giá trị phù hợp từ토토 사이트 순위 Xem ví dụ Phần

Lưu ý:hàmhstore_to_jsonđược sử dụng khi토토 사이트 순위Giá trị được đúc thànhJSON. Tương tự như vậy,hstore_to_jsonbđược sử dụng khi토토 사이트 순위Giá trị được đúc thànhJSONB.

Lưu ý:hàmPopulation_Recordthực sự được khai báo vớiAnyEuity, khôngRecord, như đối số đầu tiên của nó, nhưng nó sẽ từ chối các loại không ghi với lỗi thời gian chạy.

F.15.3. Chỉ mục

토토 사이트 순위Hỗ trợ Chỉ số Gist và Gin cho@, ?, ? &? |Người vận hành. Ví dụ:

Tạo chỉ mục HIDX trên Test토토 사이트 순위 bằng Gist (h);

Tạo chỉ mục HIDX trên Test토토 사이트 순위 bằng Gin (H);

토토 사이트 순위cũng hỗ trợBtreehoặcHashChỉ mục cho=toán tử. Điều này cho phép토토 사이트 순위cột được khai báođộc đáohoặc được sử dụng trongNhóm bởi, Đặt hàng bởihoặckhác biệtBiểu thức. Thứ tự sắp xếp cho토토 사이트 순위Giá trị không đặc biệt hữu ích, nhưng các chỉ mục này có thể hữu ích cho các tra cứu tương đương. Tạo chỉ mục cho=So sánh như sau:

Tạo chỉ mục HIDX trên Testhstore bằng Btree (h);

Tạo chỉ mục HIDX trên Testhstore bằng băm (h);

F.15.4. Ví dụ

Thêm khóa hoặc cập nhật khóa hiện có có giá trị mới:

Tab Cập nhật đặt H = H || hstore ('c', '3');

Xóa khóa:

Tab Update Set H = Delete (H, 'K1');

Chuyển đổi ARecordđến một토토 사이트 순위:

Tạo thử nghiệm bảng (số nguyên col1, văn bản col2, văn bản col3);
Chèn vào các giá trị kiểm tra (123, 'foo', 'thanh');

Chọn HStore (T) từ thử nghiệm là T;
                   hstore                    
-------------------------------------------------
 "col1" = "123", "col2" = "foo", "col3" = "bar"
(1 hàng)

Chuyển đổi một토토 사이트 순위đến được xác định trướcRecordloại:

Tạo thử nghiệm bảng (số nguyên col1, văn bản col2, văn bản col3);

Chọn * Từ population_record (null :: test,
                              '"col1" = "456", "col2" = "zzz"');
 col1 | col2 | col3 
------+------+------
  456 | zzz | 
(1 hàng)

Sửa đổi bản ghi hiện có bằng cách sử dụng các giá trị từ토토 사이트 순위:

Tạo thử nghiệm bảng (số nguyên col1, văn bản col2, văn bản col3);
Chèn vào các giá trị kiểm tra (123, 'foo', 'thanh');

Chọn (r).* Từ (chọn t #= '"col3" = "Baz"' làm r từ thử nghiệm t) s;
 col1 | col2 | col3 
------+------+------
  123 | foo | Baz
(1 hàng)

F.15.5. Thống kê

The토토 사이트 순위Loại, vì tính tự do nội tại của nó, có thể chứa rất nhiều khóa khác nhau. Kiểm tra các khóa hợp lệ là nhiệm vụ của ứng dụng. Các ví dụ sau đây chứng minh một số kỹ thuật để kiểm tra các khóa và có được số liệu thống kê.

Ví dụ đơn giản:

Chọn * từ mỗi ('aaa = bq, b = null, "" = 1');

Sử dụng bảng:

Chọn (mỗi (h)).

Thống kê trực tuyến:

chọn khóa, đếm (*) từ
  (Chọn (mỗi (h)). Khóa từ Testhstore) làm chỉ số
  Nhóm theo khóa
  Đặt hàng theo đếm desc, khóa;
    chìa khóa | đếm
-----------+-------
 dòng |   883
 Truy vấn |   207
 pos |   203
 nút |   202
 Không gian |   197
 trạng thái |   195
 công khai |   194
 Tiêu đề |   190
 org |   189
...................

F.15.6. Khả năng tương thích

Kể từ Postgresql 9.0,토토 사이트 순위Sử dụng biểu diễn nội bộ khác với các phiên bản trước. Điều này không có trở ngại cho việc nâng cấp/khôi phục từ bỏ vì biểu diễn văn bản (được sử dụng trong bãi rác) không thay đổi.

Trong trường hợp nâng cấp nhị phân, khả năng tương thích tăng được duy trì bằng cách có mã mới nhận ra dữ liệu định dạng cũ. Điều này sẽ đòi hỏi một hình phạt hiệu suất nhỏ khi xử lý dữ liệu chưa được sửa đổi bởi mã mới. Có thể buộc nâng cấp tất cả các giá trị trong cột bảng bằng cách thực hiệnCập nhậtCâu như sau:

CẬP NHẬT TABLENAME SET HSTORECOL = hstorecol || '';

Một cách khác để làm điều đó là:

30070_30144

TheBảng thay đổiPhương thức yêu cầu khóa độc quyền trên bảng, nhưng không dẫn đến việc làm cho bảng với các phiên bản hàng cũ.

F.15.7. Biến đổi

​​Tiện ích mở rộng bổ sung có sẵn để thực hiện các biến đổi cho토토 사이트 순위Loại cho các ngôn ngữ PL/Perl và PL/Python. Các tiện ích mở rộng cho PL/perl được gọi là토토 사이트 순위_plperl토토 사이트 순위_plperlu, Đối với PL/Perl đáng tin cậy và không đáng tin cậy. Nếu bạn cài đặt các biến đổi này và chỉ định chúng khi tạo hàm,토토 사이트 순위Giá trị được ánh xạ tới băm Perl. Các tiện ích mở rộng cho PL/Python được gọi là토토 사이트 순위_plpythonu, 토토 사이트 순위_plpython2u토토 사이트 순위_plpython3u(xemPostgreSQL : 문서 : 9.5 : 스포츠 토토 사이트 2 vs. 스포츠 토토 사이트 3Đối với quy ước đặt tên PL/Python). Nếu bạn sử dụng chúng,토토 사이트 순위Giá trị được ánh xạ tới từ điển Python.

THẬN TRỌNG

Được khuyến nghị mạnh mẽ rằng các tiện ích mở rộng biến đổi được cài đặt trong cùng lược đồ với토토 사이트 순위. Nếu không

F.15.8. Tác giả

Oleg Bartunov, Moscow, Đại học Moscow, Nga

Teodor Sigaev, Moscow, Delta-Soft Ltd., Nga

Cải tiến bổ sung của Andrew Gierth, Vương quốc Anh