Re: BUG #13179: pg_upgrade failure.
От | Peter Eisentraut |
---|---|
Тема | Re: BUG #13179: pg_upgrade failure. |
Дата | |
Msg-id | 554A5B49.5000107@gmx.net обсуждение исходный текст |
Ответ на | Re: BUG #13179: pg_upgrade failure. (Corey Huinker <corey.huinker@gmail.com>) |
Ответы |
Re: BUG #13179: pg_upgrade failure.
(Corey Huinker <corey.huinker@gmail.com>)
|
Список | pgsql-bugs |
On 5/6/15 12:09 PM, Corey Huinker wrote: > Apologies for the delay, machine availability was an issue. > > Steps to reproduce. > > 1. Create a 9.3 instance. > 2. Create a database in that instance, run this script in that instance: > > > begin; > > create type custom_type_t as enum('one','two'); > > create function pointless_function() returns custom_type_t > language sql immutable as $$ > select 'one'::custom_type_t; > $$; This function definition does not record the current schema path, so the function will fail to execute when run under a different schema setting. You should either explicitly qualify custom_type_t in the body or use SET search_path FROM CURRENT in the definition. > > create schema other_schema; > > create materialized view other_schema.some_mview > as > select pointless_function() as pointless_value; > > end; > > > 3. Install 9.4 and attempt a pg_upgrade migration. > > Error log is as follows. > > > command: "/usr/lib/postgresql/9.4/bin/pg_dump" --host "/tmp" --port > 50432 --username "postgres" --schema-only --quote-all-identifiers > --binary-upgrade --format=custom > --file="pg_upgrade_dump_16384.custom" "pg_upgrade_bug" >> > "pg_upgrade_dump_16384.log" 2>&1 > > > command: "/usr/lib/postgresql/9.4/bin/pg_restore" --host "/tmp" > --port 50432 --username "postgres" --exit-on-error --verbose > --dbname "pg_upgrade_bug" "pg_upgrade_dump_16384.custom" >> > "pg_upgrade_dump_16384.log" 2>&1 > pg_restore: connecting to database for restore > pg_restore: creating pg_largeobject pg_largeobject > pg_restore: creating pg_largeobject_metadata pg_largeobject_metadata > pg_restore: creating SCHEMA other_schema > pg_restore: creating SCHEMA public > pg_restore: creating COMMENT SCHEMA "public" > pg_restore: creating TYPE custom_type_t > pg_restore: creating FUNCTION pointless_function() > pg_restore: creating MATERIALIZED VIEW some_mview > pg_restore: [archiver (db)] Error while PROCESSING TOC: > pg_restore: [archiver (db)] Error from TOC entry 171; 1259 16421 > MATERIALIZED VIEW some_mview postgres > pg_restore: [archiver (db)] could not execute query: ERROR: type > "custom_type_t" does not exist > LINE 2: select 'one'::custom_type_t; > ^ > QUERY: > select 'one'::custom_type_t; > > CONTEXT: SQL function "pointless_function" during startup > Command was: > -- For binary upgrade, must preserve pg_type oid > SELECT binary_upgrade.set_next_pg_type_oid('16423'::pg_catalog.oid); > > > -- ...
В списке pgsql-bugs по дате отправления:
Предыдущее
От: Peter EisentrautДата:
Сообщение: Re: psqlodbc: HEAD fails to build with recent clang