Tom Lane
56ac625705
Use pg_dump's --quote-all-identifiers option in pg_upgrade.
...
This helps guard against changes in the set of reserved keywords from
one version to another. In theory it should only be an issue if we
de-reserve a keyword in a newer release, since that can create the type
of problem shown in bug #8128 .
Back-patch to 9.1 where the --quote-all-identifiers option was added.
2013-05-09 17:34:45 -04:00
Bruce Momjian
ce4f365188
pg_upgrade: don't copy/link files for invalid indexes
...
Now that pg_dump no longer dumps invalid indexes, per commit
683abc73dff549e94555d4020dae8d02f32ed78b, have pg_upgrade also skip
them. Previously pg_upgrade threw an error if invalid indexes existed.
Backpatch to 9.2, 9.1, and 9.0 (where pg_upgrade was added to git)
2013-03-30 22:20:53 -04:00
Andrew Dunstan
812451d1c7
Unbreak 9.0 and 9.1 pg_upgrade.
...
These were broken by my recent backpatch of
the simple prompt fix. These older versions
used DEVTTY, so import the definition from
psql's command.c.
2013-01-25 11:39:45 -05:00
Bruce Momjian
97a60fa5a0
Fix pg_upgrade for invalid indexes
...
All versions of pg_upgrade upgraded invalid indexes caused by CREATE
INDEX CONCURRENTLY failures and marked them as valid. The patch adds a
check to all pg_upgrade versions and throws an error during upgrade or
--check.
Backpatch to 9.2, 9.1, 9.0. Patch slightly adjusted.
2012-12-11 15:09:22 -05:00
Peter Eisentraut
67503753a7
pg_upgrade: Remove check for pg_config
...
It is no longer used, but was still being checked for.
bug #7548 from Reinhard Max
2012-09-18 22:05:14 -04:00
Andrew Dunstan
26f4fc0184
Fix line end mishandling in pg_upgrade on Windows.
...
pg_upgrade opened the output from pg_dumpall in text mode and
wrote the split files in text mode. This caused unwanted eating
of intended carriage returns on input and production of spurious
carriage returns on output. To avoid this, open all these files
in binary mode. On non-Windows platforms, this change has no
effect.
Backpatch to 9.0. On 9.0 and 9.1, we also switch from redirecting
pg_dumpall's output to using pg_dumpall's -f switch, for the same
reason.
2012-09-05 17:49:09 -04:00
Andrew Dunstan
a69b7a1c34
Indent fix_path_separator() header properly.
2012-09-03 22:57:21 -04:00
Andrew Dunstan
d10ddf4d51
Use correct path separator for Windows builtin commands.
...
pg_upgrade produces a platform-specific script to remove the old
directory, but on Windows it has not been making sure that the
paths it writes as arguments for rmdir and del use the backslash
path separator, which will cause these scripts to fail.
The fix is backpatched to Release 9.0.
2012-09-03 18:11:17 -04:00
Bruce Momjian
0f3326175a
In pg_upgrade, report pre-PG 8.1 plpython helper functions left in the
...
public schema that no longer point to valid shared object libraries, and
suggest a solution.
Backpatch to 9.1 (already in head)
2012-06-13 12:34:03 -04:00
Bruce Momjian
af97980b9a
In pg_upgrade, verify that the install user has the same oid on both
...
clusters, and make sure the new cluster has no additional users.
Backpatch to 9.1.
2012-06-13 12:19:18 -04:00
Bruce Momjian
6cc2ed14f1
Fix pg_upgrade to properly upgrade a table that is stored in the cluster
...
default tablespace, but part of a database that is in a user-defined
tablespace. Caused "file not found" error during upgrade.
Per bug report from Ants Aasma.
Backpatch to 9.1 and 9.0.
2012-04-10 19:57:14 -04:00
Bruce Momjian
2815574615
In pg_upgrade, remove dependency on pg_config, as that might not be in
...
the non-development install. Instead, use the LOAD mechanism to check
for the pg_upgrade_support shared object, like we do for other shared
object checks.
Backpatch to 9.1.
Report from Àlvaro
2012-03-19 09:31:50 -04:00
Bruce Momjian
e96fcb06b9
Now that the shared library name can be adjusted in the library test,
...
have pg_upgrade allocate a maximum fixed size buffer for testing the
library file name, rather than base the allocation on the library name.
Backpatch to 9.1.
2012-01-25 09:35:17 -05:00
Bruce Momjian
fa4dad6cc0
In pg_upgrade, when checking for the plpython library, we must check for
...
"plpython2" when upgrading from pre-PG 9.1. Patch to head and 9.1.
Per report from Peter.
2012-01-24 22:42:37 -05:00
Bruce Momjian
98fbce0931
In pg_upgrade, allow tables using regclass to be upgraded because we
...
preserve pg_class oids since PG 9.0.
2011-12-05 16:45:19 -05:00
Bruce Momjian
663e27c405
Fix pg_upgrade's pg_scandir_internal() the right way. Backpatch to 9.1.
2011-11-17 13:40:45 -05:00
Bruce Momjian
379aa2f5a4
Fix pg_upgrade's pg_scandir_internal() to properly handle a NULL
...
pattern, which is used on PG 9.1 and HEAD (but not pre-9.1). Fixes
crash on Windows.
Backpatched to 9.1.
Reported by Mark Dilger
2011-11-17 13:24:55 -05:00
Bruce Momjian
2e9633c362
In pg_upgrade, because toast table names can be mismatched with the heap
...
oid on 8.4, modify the toast name comparison test to only apply to old
9.0+ servers. (The test was previously 8.4+.)
2011-09-28 22:53:44 -04:00
Bruce Momjian
8cdd62068d
In pg_upgrade, disallow migration of 8.3 clusters using contrib/ltree
...
because its internal format was changed in 8.4.
Backpatch to 9.0 and 9.1.
Report by depesz, diagnosis by Tom.
2011-09-07 14:43:07 -04:00
Tom Lane
333eb32081
Fix not-backwards-compatible pg_upgrade test for prepared transactions.
...
There's no reason for this test to use the undocumented pg_prepared_xact()
function, when it can use the stable API pg_prepared_xacts instead.
Fixes breakage against 8.3, as reported by Justin Arnold.
2011-08-30 17:15:13 -04:00
Bruce Momjian
39a713ea05
In pg_upgrade, limit schema name filter to include toast tables. Bug
...
introduced recently when trying to filter out temp tables.
Backpatch to 9.0 and 9.1.
2011-08-26 00:12:34 -04:00
Bruce Momjian
96a770d5da
In pg_upgrade, avoid dumping orphaned temporary tables. This makes the
...
pg_upgrade schema matching pattern match pg_dump/pg_dumpall.
Fix for 9.0, 9.1, and 9.2.
2011-08-15 22:40:09 -04:00
Bruce Momjian
4d2d5b8196
Fix pg_update to properly test for the data directory's existence on
...
Win32.
Backpatch to 9.1.
2011-07-30 01:50:51 -04:00
Bruce Momjian
7f4c34739b
In pg_upgrade on Windows, check if the directory is writable by actually
...
creating and removing a file because access() doesn't work on that
platform.
Backpatch to 9.1 where this check was added.
2011-07-24 01:43:48 -04:00
Bruce Momjian
c3810795e9
In pg_upgrade, fix the -l/log option to work on Windows.
...
Also, double-quote the log file name in all places, to allow (on all
platforms) log file names with spaces.
Back patch to 9.0 and 9.1.
2011-07-20 18:31:07 -04:00
Peter Eisentraut
469345e1e3
Fix use of unportable %m format
2011-07-07 22:53:51 +03:00
Peter Eisentraut
c2fe8e70b2
Postgres -> PostgreSQL in error message
2011-07-05 22:41:09 +03:00
Bruce Momjian
d9db32401c
In pg_upgrade, check that the binary and data directories are the same
...
major version.
Backpatch to 9.1.
Dan McGee
2011-06-22 20:48:35 -04:00
Bruce Momjian
c6635bd7ba
Adjust pg_upgrade check for pg_upgrade_support to happen after the
...
binary directory has been validated.
Backpatch to 9.1.
Dan McGee
2011-06-22 17:47:24 -04:00
Bruce Momjian
3ccd16c5a9
Fix pg_upgrade status message capitalization mistake.
...
Backpatch to 9.1 and 9.0.
Dan McGee
2011-06-22 14:49:44 -04:00
Bruce Momjian
5561fe2184
In pg_upgrade, check there are no prepared transactions.
...
Backpatch to 9.1.
2011-06-14 14:41:33 -04:00
Bruce Momjian
6560407c7d
Pgindent run before 9.1 beta2.
2011-06-09 14:32:50 -04:00
Bruce Momjian
11c08c3fd7
In pg_upgrade, do case-insensitive checks of locale, encoding, and ctype
...
because these are often inconsistently capitalized.
2011-05-24 15:59:34 -04:00
Bruce Momjian
1f35944607
In pg_upgrade, clean up handling of invalid directory specification by
...
checking the stat() errno value more strictly.
2011-05-18 22:22:40 -04:00
Bruce Momjian
772a5f1e5b
Improve pg_upgrade error reporting if the bin or data directories do not
...
exist or are not directories.
2011-05-18 18:37:25 -04:00
Peter Eisentraut
0ee391b77a
/contrib/foo -> contrib/foo
...
Since contrib is a relative directory specification, a leading slash
is inappropriate.
2011-05-19 00:30:31 +03:00
Bruce Momjian
92ff915018
Improve pg_upgrade X_OK comment.
2011-05-18 12:25:34 -04:00
Bruce Momjian
6fbf4e0e7c
Fix pg_upgrade build problem on Windows when using X_OK access
...
permission check on the current directory.
2011-05-18 12:13:37 -04:00
Bruce Momjian
e728701fb4
Update pg_upgrade directory check error message.
2011-05-16 12:32:36 -04:00
Bruce Momjian
bda27e502f
Add pg_upgrade check to make sure the user has full access permission in
...
the current directory; if not, throw an error.
2011-05-16 11:01:29 -04:00
Bruce Momjian
6c19bd96bc
Allow pg_upgrade to honor libpq environment variables. Add 'local'
...
checks for PGHOST and PGHOSTADDR.
2011-05-16 10:48:40 -04:00
Peter Eisentraut
00fad9f6fe
Format pg_upgrade --version in line with conventions
2011-05-10 21:40:29 +03:00
Peter Eisentraut
4c78846cb3
Add bug report line to pg_upgrade --help output
2011-05-10 21:37:55 +03:00
Bruce Momjian
5059cf6ebf
In pg_upgrade, remove suggestion of setting pg_hba.conf to 'trust', now
...
that we report the libpq connection failure string. Per suggestion from
Robert Haas.
2011-05-10 10:42:43 -04:00
Bruce Momjian
78318d63d7
In pg_upgrade, add status message about superuser check.
2011-05-09 08:55:36 -04:00
Bruce Momjian
e6a7402842
Add C comment why client encoding can be set in pg_upgrade.
2011-05-07 22:30:35 -04:00
Bruce Momjian
1609ca5adb
In pg_upgrade, report non-super-user username in error message.
2011-05-07 12:17:21 -04:00
Bruce Momjian
81301b8578
Check that the pg_upgrade user specified is a super-user.
...
Also report the error message when the post-pg_ctl connection fails.
Per private bug report from EnterpriseDB.
2011-05-07 08:55:45 -04:00
Bruce Momjian
5c5f83507c
Adjust pg_upgrade FATAL error messages to have consistent newlines.
...
Also adjust some error message capitalization for consistency.
2011-05-06 21:47:42 -04:00
Peter Eisentraut
d6d823c8b0
Improve formatting of pg_upgrade --help output
2011-05-05 23:19:13 +03:00