Обсуждение: how to index a numeric(12,2) column?
I'd like to create an index on a column whose type is NUMERIC(12,2). There appears to be no default operator class for the numeric type. What class should I use instead? My guess is that something like this might work: CREATE INDEX foo_idx on foo (bar int8_ops); Will that work properly? Will it do me any good? Is there a better way?
Forest Wilkinson <fspam@home.com> writes: > I'd like to create an index on a column whose type is NUMERIC(12,2). > There appears to be no default operator class for the numeric type. Uh, what version are you using? Works fine for me in 7.0.2. regards, tom lane
>> I'd like to create an index on a column whose type is NUMERIC(12,2). >> There appears to be no default operator class for the numeric type. > >Uh, what version are you using? Works fine for me in 7.0.2. Sorry; I hit send before adding that information. I'm using postgres 6.5.3 on i386 Red Hat 6.1. It allows me to create an index on a NUMERIC(12,2) field using the int8_ops class, but I'm wondering if this might have some undesirable hidden side effects. CREATE TABLE foo (id INTEGER, bar NUMERIC(12,2)); CREATE INDEX foo_idx on foo (bar int8_ops);
Forest Wilkinson <fspam@home.com> writes: > Sorry; I hit send before adding that information. I'm using postgres > 6.5.3 on i386 Red Hat 6.1. Time to update, then. > It allows me to create an index on a NUMERIC(12,2) field using the > int8_ops class, but I'm wondering if this might have some undesirable > hidden side effects. Yes, and they won't be too hidden either: it won't work :-( Current sources check for that sort of type mismatch, but 6.5 failed to do so. regards, tom lane