F.8. btree_gin
ÐодÑÐ»Ñ btree_gin пÑедоÑÑавлÑÐµÑ Ð¿Ð¾ÐºÐ°Ð·Ð°ÑелÑнÑе клаÑÑÑ Ð¾Ð¿ÐµÑаÑоÑов GIN, ÑеализÑÑÑие поведение, подобное ÑомÑ, ÑÑо ÑеализÑÑÑ Ð¾Ð±ÑÑнÑе клаÑÑÑ B-деÑева, Ð´Ð»Ñ Ñипов даннÑÑ
int2, int4, int8, float4, float8, timestamp with time zone, timestamp without time zone, time with time zone, time without time zone, date, interval, oid, money, "char", varchar, text, bytea, bit, varbit, macaddr, macaddr8, inet, cidr, uuid, name, bool, bpchar и вÑеÑ
Ñипов-пеÑеÑиÑлений (enum).
ÐообÑе говоÑÑ, ÑÑи клаÑÑÑ Ð¾Ð¿ÐµÑаÑоÑов не бÑдÑÑ ÑабоÑаÑÑ Ð±ÑÑÑÑее аналогиÑнÑÑ ÑÑандаÑÑнÑÑ Ð¼ÐµÑодов индекÑа-B-деÑева, и им не Ñ Ð²Ð°ÑÐ°ÐµÑ Ð¾Ð´Ð½Ð¾Ð¹ важной возможноÑÑи ÑÑандаÑÑной ÑеализаÑии B-деÑева: возможноÑÑи огÑаниÑиваÑÑ ÑникалÑноÑÑÑ. Тем не менее Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ пÑименÑÑÑ Ð´Ð»Ñ ÑеÑÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ GIN или взÑÑÑ Ð·Ð° оÑÐ½Ð¾Ð²Ñ Ð´Ð»Ñ ÑазÑабоÑки дÑÑÐ³Ð¸Ñ ÐºÐ»Ð°ÑÑов опеÑаÑоÑов GIN. Также, Ð´Ð»Ñ Ð·Ð°Ð¿ÑоÑов, где пÑовеÑÑеÑÑÑ Ð¸ ÑÑÐ¾Ð»Ð±ÐµÑ Ñ Ð¸Ð½Ð´ÐµÐºÑом GIN, и ÑÑÐ¾Ð»Ð±ÐµÑ Ñ Ð¸Ð½Ð´ÐµÐºÑом-B-деÑевом, Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð±Ð¾Ð»ÐµÐµ ÑÑÑекÑивнÑм ÑоздаÑÑ ÑоÑÑавной Ð¸Ð½Ð´ÐµÐºÑ GIN, коÑоÑÑй иÑполÑзÑÐµÑ Ð¾Ð´Ð¸Ð½ из ÑÑÐ¸Ñ ÐºÐ»Ð°ÑÑов опеÑаÑоÑов, Ñем иÑполÑзоваÑÑ Ð´Ð²Ð° оÑделÑнÑÑ Ð¸Ð½Ð´ÐµÐºÑа, вÑбоÑÐºÑ Ð¸Ð· коÑоÑÑÑ Ð¿ÑидÑÑÑÑ Ð¾Ð±ÑединÑÑÑ, вÑÑиÑлÑÑ AND биÑовÑÑ ÐºÐ°ÑÑ.
ÐаннÑй модÑÐ»Ñ ÑÑиÑаеÑÑÑ Â«Ð´Ð¾Ð²ÐµÑеннÑм», Ñо еÑÑÑ ÐµÐ³Ð¾ могÑÑ ÑÑÑанавливаÑÑ Ð¾Ð±ÑÑнÑе полÑзоваÑели, имеÑÑие пÑаво CREATE в ÑекÑÑей базе даннÑÑ
.
F.8.1. ÐÑÐ¸Ð¼ÐµÑ Ð¸ÑполÑзованиÑ
CREATE TABLE test (a int4); -- ÑоздаÑÑ Ð¸Ð½Ð´ÐµÐºÑ CREATE INDEX testidx ON test USING GIN (a); -- запÑÐ¾Ñ SELECT * FROM test WHERE a < 10;
F.8.2. ÐвÑоÑÑ
ФÑÐ´Ð¾Ñ Ð¡Ð¸Ð³Ð°ÐµÐ² (<[email protected]>) и Ðлег ÐаÑÑÑнов (<[email protected]>). ÐодÑобноÑÑи можно найÑи на ÑÑÑаниÑе http://www.sai.msu.su/~megera/oddmuse/index.cgi/Gin.