Thu Sep 15 22:11:55 PDT 2005
- Previous message: [Slony1-general] Re: slow queries on Postgres 7.4 and slony1.1
- Next message: [Slony1-general] Re: slow queries on Postgres 7.4 and slony1.1
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Thu, 2005-09-15 at 23:59 +0300, Hannu Krosing wrote: > On N, 2005-09-15 at 13:41 -0700, Marc Munro wrote: > > Folks, > > I saw a suggestion in this list about adding an index to sl_log(log_xid) > > to speed up queries. Can someone enlighten me on how to do this, I am > > getting the following error: > > > > ERROR: data type _cage2.xxid has no default operator class for access > > method "hash" > > You must specify an operator class for the index or define a > > default operator class for the data type > > > > What do I need to specify for the opclass or access method or both? The slony additions are broken. I first reported this in May to Slony-general based on the below message from Tom when I was working out a bug. Toms reply: ssdb=# select * from pg_operator where oid = 716373; oprname | oprnamespace | oprowner | oprkind | oprcanhash | oprleft | oprright | oprresult | oprcom | oprnegate | oprlsortop | oprrsortop | oprltcmpop | oprgtcmpop | oprcode | oprrest | oprjoin ---------+--------------+----------+---------+------------+---------+----------+-----------+--------+-----------+------------+------------+------------+------------+---------------+---------+----------- = | 2200 | 588 | b | t | 716353 | 716353 | 16 | 716373 | 716372 | 716371 | 716371 | 716371 | 716369 | _ssrep.xxideq | eqsel | eqjoinsel (1 row) I think you need to have a word with the Slony boys. They shouldn't be marking the operator oprcanhash if they aren't providing a valid hash opclass for the datatype. Per the manual: : To be marked HASHES, the join operator must appear in a hash index : operator class. This is not enforced when you create the operator, since : of course the referencing operator class couldn't exist yet. But : attempts to use the operator in hash joins will fail at runtime if no : such operator class exists. The system needs the operator class to find : the data-type-specific hash function for the operator's input data : type. Of course, you must also supply a suitable hash function before : you can create the operator class. --
- Previous message: [Slony1-general] Re: slow queries on Postgres 7.4 and slony1.1
- Next message: [Slony1-general] Re: slow queries on Postgres 7.4 and slony1.1
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Slony1-general mailing list