ERROR: operator class "gin__int_ops" does not exist for access method "gin"

Started by Julie Nishimuraalmost 7 years ago4 messagesgeneral
Jump to latest
#1Julie Nishimura
juliezain@hotmail.com

We migrated some tables from 8.3 postgresql to 9.4, and when I compared tables DDL between environments, I've noticed some indices are missing (majority of them are using GIN

When I am taking 8.3 ddl for it:
CREATE INDEX serp_test2
ON serp_test
USING gin
(domainids gin__int_ops);

it gives me error:
ERROR: operator class "gin__int_ops" does not exist for access method "gin"

Is it possible to retrieve the ddl for operator class and recreate it on 9.4? If not, is there any work-around?

Thank you

#2Adrian Klaver
adrian.klaver@aklaver.com
In reply to: Julie Nishimura (#1)
Re: ERROR: operator class "gin__int_ops" does not exist for access method "gin"

On 4/17/19 5:18 PM, Julie Nishimura wrote:

We migrated some tables from 8.3 postgresql to 9.4, and when I compared
tables DDL between environments, I've noticed some indices are missing
(majority of them are using GIN

When I am taking 8.3 ddl for it:
� CREATE INDEX serp_test2
� ON serp_test
� USING gin
� (domainids gin__int_ops);

it gives me error:
ERROR: �operator class "gin__int_ops" does not exist for access method "gin"

Is it possible to retrieve the ddl for operator class and recreate it on
9.4? If not, is there any work-around?

Looks like it needs the intarray extension:

https://www.postgresql.org/docs/8.3/intarray.html

"There is also a non-default GIN operator class gin__int_ops."

9.4:

https://www.postgresql.org/docs/9.4/intarray.html

Thank you

--
Adrian Klaver
adrian.klaver@aklaver.com

#3Julie Nishimura
juliezain@hotmail.com
In reply to: Adrian Klaver (#2)
Re: ERROR: operator class "gin__int_ops" does not exist for access method "gin"

Thank you! All works now

________________________________
From: Adrian Klaver <adrian.klaver@aklaver.com>
Sent: Wednesday, April 17, 2019 5:23 PM
To: Julie Nishimura; pgsql-general@lists.postgresql.org
Subject: Re: ERROR: operator class "gin__int_ops" does not exist for access method "gin"

On 4/17/19 5:18 PM, Julie Nishimura wrote:

We migrated some tables from 8.3 postgresql to 9.4, and when I compared
tables DDL between environments, I've noticed some indices are missing
(majority of them are using GIN

When I am taking 8.3 ddl for it:
CREATE INDEX serp_test2
ON serp_test
USING gin
(domainids gin__int_ops);

it gives me error:
ERROR: operator class "gin__int_ops" does not exist for access method "gin"

Is it possible to retrieve the ddl for operator class and recreate it on
9.4? If not, is there any work-around?

Looks like it needs the intarray extension:

https://www.postgresql.org/docs/8.3/intarray.html

"There is also a non-default GIN operator class gin__int_ops."

9.4:

https://www.postgresql.org/docs/9.4/intarray.html

Thank you

--
Adrian Klaver
adrian.klaver@aklaver.com

#4Adrian Klaver
adrian.klaver@aklaver.com
In reply to: Julie Nishimura (#3)
Re: ERROR: operator class "gin__int_ops" does not exist for access method "gin"

On 4/17/19 9:38 PM, Julie Nishimura wrote:

Thank you! All works now

Great.
I mentioned upstream about migrating to version newer then 9.4. Given
the amount of work you are putting into this, would you not be better
served by going to a version that has more then ~10 months left on its
community support?:

https://www.postgresql.org/support/versioning/

Version Current minor Supported First Release Final Release
9.4 9.4.21 Yes December 18, 2014 February 13, 2020

--
Adrian Klaver
adrian.klaver@aklaver.com