| From: | PG Bug reporting form <noreply(at)postgresql(dot)org> | 
|---|---|
| To: | pgsql-bugs(at)lists(dot)postgresql(dot)org | 
| Cc: | cherio(at)gmail(dot)com | 
| Subject: | BUG #15695: Failure to restore a dump, ERROR: operator does not exist: public.hstore = public.hstore | 
| Date: | 2019-03-15 21:20:38 | 
| Message-ID: | 15695-9ddb5735cf6dd931@postgresql.org | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-bugs | 
The following bug has been logged on the website:
Bug reference:      15695
Logged by:          Yuri Cherio
Email address:      cherio(at)gmail(dot)com
PostgreSQL version: 10.7
Operating system:   Ubuntu 18.04 64bit
Description:        
I am exporting DB from 10.6 and importing into 10.7 and an UPDATE rule fails
to restore. I have a view with a rule that starts like this
CREATE OR REPLACE RULE table_view__upd__rul AS ON UPDATE
	TO schema.table_view
	DO INSTEAD (
		UPDATE sch.tab
		SET
			updated_at = NEW.updated_at,
			updated_by = NEW.updated_by,
			hstore_field = NEW.hstore_field
		WHERE id = OLD.id
			AND
			(
				OLD.updated_at IS DISTINCT FROM NEW.updated_at OR
				OLD.updated_by IS DISTINCT FROM NEW.updated_by OR
				OLD.hstore_field IS DISTINCT FROM NEW.hstore_field
			);
....
I export into a custom format as
pg_dump -F c -Z 0 -T bak.* -T tmp.* -h host1 -p port database > file.dump
and import as
pg_restore -v -d database -j 4 -h host2 -p port file.dump
which at some point logs an error
pg_restore: [archiver (db)] could not execute query: ERROR:  operator does
not exist: public.hstore = public.hstore
LINE 3: ...ISTINCT FROM (new.updated_by)::text) OR (old.hstore_field IS
DISTINC...
with an arrow pointing to "old.hstore_field IS -->DISTINC..."
From the log I can see that hstore was extension successfully created and
many other tables, views and functions successfully recreated prior to this
error.
This looks like a bug to me :(
Thank you!
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2019-03-15 21:27:59 | Re: pg_restore: [archiver (db)] could not execute query: ERROR: operator does not exist: public.hstore = public.hstore | 
| Previous Message | Cherio | 2019-03-15 21:12:13 | pg_restore: [archiver (db)] could not execute query: ERROR: operator does not exist: public.hstore = public.hstore |