pg_upgrade/test.sh and v9.5
От | Justin Pryzby |
---|---|
Тема | pg_upgrade/test.sh and v9.5 |
Дата | |
Msg-id | 20220122183749.GO23027@telsasoft.com обсуждение исходный текст |
Список | pgsql-hackers |
In fa66b6dee, Micheal fixed test.sh to work back to v11, so I suppose nobody is trying to run it with older versions, as I was endeavored to do. With the attached patch, I'm able to test upgrades back to v9.6. In 9.5, there are regression diffs from CONTEXT lines from non-error messages, which is a v9.5 change (0426f349e). The first "make check" fails before even getting to the upgrade part: | NOTICE: trigger_func(before_ins_stmt) called: action = INSERT, when = BEFORE, level = STATEMENT |- CONTEXT: SQL statement "INSERT INTO main_table VALUES (NEW.a, NEW.b)" |- PL/pgSQL function view_trigger() line 17 at SQL statement I tried a lot of things but couldn't find one that worked. I just tried this, which allows the "make check" to pass, but then fails due missing symbols in libpq during the upgrade phase. Maybe I'm missing something - Tom must have tested psql against old versions somehow before de-supporting old versions (but maybe not like this). | time make check -C src/bin/pg_upgrade oldsrc=`pwd`/new/95 oldbindir=`pwd`/new/95/tmp_install/usr/local/pgsql/bin with_temp_install="LD_LIBRARY_PATH=`pwd`/new/95/tmp_install/usr/local/pgsql/lib" I tried installcheck, but then that fails because psql doesn't accept multiple -c options (it runs the final -c command only). | EXTRA_REGRESS_OPTS="--bindir `pwd`/new/95/tmp_install/usr/local/pgsql/bin" LD_LIBRARY_PATH=`pwd`/new/95/tmp_install/usr/local/pgsql/libPGHOST=/tmp time make installcheck | ... | ============== creating database "regression" ============== | ERROR: database "regression" does not exist | STATEMENT: ALTER DATABASE "regression" SET lc_messages TO 'C';ALTER DATABASE "regression" SET lc_monetary TO 'C';ALTERDATABASE "regression" SET lc_numeric TO 'C';ALTER DATABASE "regression" SET lc_time TO 'C';ALTER DATABASE "regression"SET bytea_output TO 'hex';ALTER DATABASE "regression" SET timezone_abbreviations TO 'Default'; | ERROR: database "regression" does not exist | command failed: "/home/pryzbyj/src/postgres/new/95/tmp_install/usr/local/pgsql/bin/psql" -X -c "CREATE DATABASE \"regression\"TEMPLATE=template0" -c "ALTER DATABASE \"regression\" SET lc_messages TO 'C';ALTER DATABASE \"regression\"SET lc_monetary TO 'C';ALTER DATABASE \"regression\" SET lc_numeric TO 'C';ALTER DATABASE \"regression\" SETlc_time TO 'C';ALTER DATABASE \"regression\" SET bytea_output TO 'hex';ALTER DATABASE \"regression\" SET timezone_abbreviationsTO 'Default';" "postgres" pg_regress was changed to do that recently: commit f45dc59a38cab1d2af6baaedb79559fe2e9b3781 Author: Tom Lane <tgl@sss.pgh.pa.us> Date: Wed Oct 20 18:44:37 2021 -0400 Improve pg_regress.c's infrastructure for issuing psql commands. -- Justin
Вложения
В списке pgsql-hackers по дате отправления: