Обсуждение: ERROR: operator class "gin__int_ops" does not exist for accessmethod "gin"

Поиск
Список
Период
Сортировка

ERROR: operator class "gin__int_ops" does not exist for accessmethod "gin"

От
Julie Nishimura
Дата:
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

Re: ERROR: operator class "gin__int_ops" does not exist for accessmethod "gin"

От
Adrian Klaver
Дата:
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



Re: ERROR: operator class "gin__int_ops" does not exist for accessmethod "gin"

От
Julie Nishimura
Дата:
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

Re: ERROR: operator class "gin__int_ops" does not exist for accessmethod "gin"

От
Adrian Klaver
Дата:
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