Postgresql 9.0.23 Tài liệu | ||||
---|---|---|---|---|
토토 사이트 : 문서 : 9.0 : fuzzystrmatch | UP | Phụ lục F. Các mô -đun được cung cấp bổ sung | 배트맨 토토 : 문서 : 9.0 : Intagg |
Mô -đun này thực hiện스포츠 토토 사이트Dữ liệu Nhập để lưu trữ các bộ của các cặp khóa/giá trị trong mộtPostgreSQLGiá trị. Điều này có thể được 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 điều đó hiếm khi được kiểm tra, hoặc dữ liệu bán cấu trúc. Chìa khóa và giá trị chỉ đơn giản là chuỗi văn bản.
Biểu diễn văn bản của스포츠 토토 사이트, Được sử dụng cho đầu vào và đầu ra, bao gồm không hoặc nhiều hơnKey = giá trịcặp được phân tách bởi 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 tái tạo 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. Kép Các khóa và giá trị bao gồm khoảng trắng, dấu phẩy,=S hoặcs. Để bao gồm báo giá kép hoặc dấu gạch chéo ngược trong một khóa hoặc giá trị, thoát khỏi nó với một dấu gạch chéo ngược.
mỗi khóa trong một스포츠 토토 사이트là duy nhất. Nếu như bạn khai báo스포츠 토토 사이트với trùng lặp Khóa, chỉ có một cái sẽ được lưu trữ trong스포츠 토토 사이트Và không có gì đảm bảo về ý chí nào đượ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 là trường hợp không nhạy cảm. 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 đi qua nó như một hằng số theo nghĩa đen được trích dẫn, sau đó bất kỳ phương tiện nào ký tự và (tùy thuộc vào cài đặt củaStandard_Conforming_StringsCấu hình tham số) các ký tự dấu gạch chéo ngược 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ý chuỗi hằng số.
trên đầu ra, báo giá đôi luôn bao quanh các phím và giá trị, ngay cả khi nó không hoàn toàn cần thiết.
Bảng F-6.스포츠 토토 사이트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ó mặt) | '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" |
Text = Text | làm cho một cặp스포츠 토토 사이트 | 'A' = 'B' | "A" = "B" |
스포츠 토토 사이트 || 스포츠 토토 사이트 | 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ả Khóa được chỉ định? | 'a = 1, b = 2' :: 스포츠 토토 사이트 ? & Mảng ['a', 'b'] | T |
스포츠 토토 사이트 ? | Text [] | không스포츠 토토 사이트chứa bất kỳ các khóa đượ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 ':: hstore | "A" = "1", "C" = "3" |
Record #= 스포츠 토토 사이트 | Thay thế các trường trongRecordvới Kết hợp các giá trị từ스포츠 토토 사이트 | Xem ví dụ Phần | |
%% 스포츠 토토 사이트 | chuyển đổi스포츠 토토 사이트đến mảng của Khóa và giá trị xen kẽ | %% 'a = foo, B = Bar ':: 스포츠 토토 사이트 | a, foo, b, bar |
%# 스포츠 토토 사이트 | Chuyển đổi스포츠 토토 사이트đến Mảng khóa/giá trị hai chiều | %# 'a = foo, B = Bar ':: 스포츠 토토 사이트 | a, foo, b, bar |
Lưu ý:Trước PostgreSQL 8.2, ngăn chặn người vận hành@và<@được gọi là@và~, 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ẽ được gỡ bỏ. Lưu ý rằng các tên cũ bị đảo ngược từ quy ước trước đây là dữ liệu hình học cốt lõi các loại!
Lưu ý:The=Nhà điều hành được không dùng nữa và có thể được gỡ bỏ trong một bản phát hành trong tương lai. Sử dụng The스포츠 토토 사이트 (văn bản, văn bản)Hàm thay vì.
Bảng F-7.스포츠 토토 사이트Chức năng
chức năng | Loại trả lại | Mô tả | Ví dụ | Kết quả |
---|---|---|---|---|
스포츠 토토 사이트 (ghi) |
스포츠 토토 사이트 | Xây dựng một스포츠 토토 사이트từ a Ghi lại hoặc hàng | 스포츠 토토 사이트 (hàng (1,2)) | f1 = 1, f2 = 2 |
스포츠 토토 사이트 (văn bản []) |
스포츠 토토 사이트 | Xây dựng một스포츠 토토 사이트Từ một mảng, có thể là một mảng khóa/giá trị hoặc một 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 [],
chữ[]) |
스포츠 토토 사이트 | Xây dựng스포츠 토토 사이트Từ 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,
chữ) |
스포츠 토토 사이트 | Làm đơn lẻ스포츠 토토 사이트 | 스포츠 토토 사이트 ('A', 'B') | "A" = "B" |
akey (스포츠 토토 사이트) |
Text [] | Nhận스포츠 토토 사이트'của mảng | AKEYS ('A = 1, B = 2') | A, B |
SKEYS (스포츠 토토 사이트) |
Setof Text | GET스포츠 토토 사이트's Keys As a bộ | SKEYS ('A = 1, B = 2') |
a B |
Avals (스포츠 토토 사이트) |
Text [] | GET스포츠 토토 사이트22756_22791 | Avals ('a = 1, b = 2') | 1,2 |
svals (스포츠 토토 사이트) |
Text Setof | get스포츠 토토 사이트s giá trị như một bộ | svals ('a = 1, b = 2') |
1 2 |
스포츠 토토 사이트_to_array (스포츠 토토 사이트) |
Text [] | Nhận스포츠 토토 사이트Các phím và giá trị Là một mảng các khóa và giá trị xen kẽ | 스포츠 토토 사이트_to_array ('a = 1, b = 2') | a, 1, b, 2 |
스포츠 토토 사이트_to_matrix (스포츠 토토 사이트) |
Text [] | GET스포츠 토토 사이트Các phím và giá trị của Là một mảng hai chiều | 스포츠 토토 사이트_to_matrix ('a = 1, b = 2') | a, 1, b, 2 |
Slice (스포츠 토토 사이트,
chữ[]) |
스포츠 토토 사이트 | 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, giá trị chữ) | GET스포츠 토토 사이트Các phím và giá trị của 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? | Xác định ('a = null', 'a') | f |
Xóa (스포츠 토토 사이트, Text) |
스포츠 토토 사이트 | Xóa cặp với phím khớp | Xóa ('A = 1, B = 2', 'B') | "A" = "1" |
Xóa (스포츠 토토 사이트, văn bản []) |
스포츠 토토 사이트 | 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 phù hợp với các cặp trong lần thứ hai lý lẽ | Xóa ('a = 1, b = 2', 'a = 4, b = 2' :: 스포츠 토토 사이트) | "A" = "1" |
Population_Record (Record, 스포츠 토토 사이트) |
Record | Thay thế các trường trongRecordvới Kết hợp các giá trị từ스포츠 토토 사이트 | Xem phần ví dụ |
Lưu ý:hàm
Population_Record
thự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.
스포츠 토토 사이트Hỗ trợ Chỉ số Gist và Gin cho@, ?, ? &và? |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. Loại Đặt hàng cho스포츠 토토 사이트Giá trị thì không đặc biệt hữu ích, nhưng các chỉ mục này có thể hữu ích cho 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);
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 || ('C' = '3');
Xóa khóa:
Tab Cập nhật đặt h = xóa (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 một chiếc đượ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 kiểm tra 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)
The스포츠 토토 사이트Loại, vì nó Tự do nội tại, 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 Các ví dụ sau chứng minh một số kỹ thuật để kiểm tra Chìa 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 ...................
Khi nâng cấp từ cũ hơn các phiên bản, luôn tải phiên bản mới của mô -đun này vào cơ sở dữ liệu trước khi khôi phục một bãi rác. Nếu không, nhiều tính năng mới sẽ không có sẵn.
Kể từ Postgresql 9.0,스포츠 토토 사이트Sử dụng a Đại diện nội bộ khác nhau so với các phiên bản trước. Cái này Không trình bày không có trở ngại cho việc nâng cấp kết xuất/khôi phục kể từ khi văn bản Biểu diễ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 hướng lên là đượ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. Nó là có thể buộc nâng cấp tất cả các giá trị trong cột bảng bằng cách đang làmCập nhậtCâu lệnh AS theo sau:
CẬP NHẬT TABLENAME SET 스포츠 토토 사이트COL = 스포츠 토토 사이트COL | '';
Một cách khác để làm điều đó là:
33118_33194
TheBảng thay đổiPhương pháp yêu cầu một Khóa độc quyền trên bàn, nhưng không dẫn đến đầy hơi bảng có phiên bản hàng cũ.
Oleg Bartunov<leg@sai.msu.su
,,
Moscow, Đại học Moscow, Nga
Teodor Sigaev<teodor@sigaev.ru
,,
Moscow, Delta-Soft Ltd., Nga
Cải tiến bổ sung của Andrew Gierth<andrew@tao11.riddles.org.uk
,,
Vương quốc Anh