Commit Graph

41 Commits

Author SHA1 Message Date
Bruce Momjian 497e65f822 In pg_upgrade, no need to initialize global struct values; they are
always zeros.  Also no need to free memory before we exit.
2011-02-16 15:17:28 -05:00
Alvaro Herrera b4a7e5980b Cleanup ClusterInfo initialization in pg_upgrade 2011-02-16 14:06:17 -03:00
Bruce Momjian 0a5f119931 A toast relid field are no longer needed in pg_upgrade's rel arrays, so
remove them.  Also other renaming.
2011-01-10 11:46:02 -05:00
Bruce Momjian 002c105a07 In pg_upgrade, remove functions that did sequential array scans looking
up relations, but rather order old/new relations and use the same array
index value for both.  This should speed up pg_upgrade for databases
with many relations.
2011-01-08 13:44:44 -05:00
Bruce Momjian ebaf648ad2 In pg_upgrade, clarify use of install_db_support_functions(). 2011-01-08 09:11:48 -05:00
Bruce Momjian f75383e6e8 In pg_upgrade, track only one copy of namespace/relname in FileNameMap
because the old and new values are identical.
2011-01-07 22:36:51 -05:00
Bruce Momjian d8d3d2a4f3 Fix pg_upgrade of large object permissions by preserving pg_auth.oid,
which is stored in pg_largeobject_metadata.

No backpatch to 9.0 because you can't migrate from 9.0 to 9.0 with the
same catversion (because of tablespace conflict), and a pre-9.0
migration to 9.0 has not large object permissions to migrate.
2011-01-07 21:59:29 -05:00
Bruce Momjian 2896c87ce4 Force pg_upgrade's to preserve pg_class.oid, not pg_class.relfilenode.
Toast tables have identical pg_class.oid and pg_class.relfilenode, but
for clarity it is good to preserve the pg_class.oid.

Update comments regarding what is preserved, and do some
variable/function renaming for clarity.
2011-01-07 21:26:13 -05:00
Bruce Momjian 5cff5b5779 Clarify pg_upgrade's creation of the map file structure. Also clean
up pg_dump's calling of pg_upgrade_support functions.
2011-01-05 11:37:08 -05:00
Bruce Momjian 5d950e3b0c Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
Bruce Momjian 67c9e4442f Furter pg_upgrade optimizations to reduce function call argument count. 2011-01-01 12:28:48 -05:00
Bruce Momjian 6e6bee987f In pg_upgrade, remove use of whichCluster, and just pass old/new cluster
pointers, which simplifies the code.  This was not possible in 9.0 because
everything was in a single nested struct, but is possible now.

Per suggestion from Tom.
2011-01-01 12:06:36 -05:00
Bruce Momjian f82b3e58f8 In pg_upgrade, rename "CLUSTERNAME" to "CLUSTER_NAME". 2010-12-31 20:42:29 -05:00
Bruce Momjian a52aa6c6db Clean up pg_upgrade cache lookup code; remove useless NULL pointer tests. 2010-10-20 20:02:37 +00:00
Bruce Momjian 691a67b922 Rename pg_upgrade 'log' to 'log_opts', to avoid platform naming conflict. 2010-10-20 02:31:17 +00:00
Bruce Momjian 3325c9bddb Further speed up pg_upgrade lookups. 2010-10-20 02:06:06 +00:00
Bruce Momjian ad06db2610 In pg_upgrade, use cached copy of directory listing, rather than calling
scandir() with a pattern for every table.

Optimization after report of pg_upgrade slowness with 150k tables.
2010-10-20 00:33:19 +00:00
Bruce Momjian 07456b45e6 Pgindent run on pg_upgrade source after restructuring. 2010-10-19 22:37:04 +00:00
Bruce Momjian e13f7e9a71 Restructure the pg_upgrade code to use several global structures rather
than packing everything into 'ctx' and passing that to every function.
2010-10-19 21:38:34 +00:00
Bruce Momjian 722d5beeb2 In pg_upgrade, rename SHELL_EXT to SCRIPT_EXT, for clarity. 2010-10-19 15:57:55 +00:00
Bruce Momjian 51eeccd6cc Add removal of PG_VERSION to optional old cluster deletion script.
Backpatch to 9.0.X.
2010-10-19 15:52:43 +00:00
Bruce Momjian 9df96f9bb1 In pg_upgrade, rename macro EXEC_EXT to SHELL_EXT for clarity.
Backpatch to 9.0.X.
2010-10-19 02:56:16 +00:00
Bruce Momjian 807005c024 Use macro atooid() for conversion of strings to oids, per suggestion
from Tom.
2010-09-28 22:11:39 +00:00
Bruce Momjian 9340fb80b1 In pg_upgrade, properly handle oids > 2^31 by using strtoul() internally
rather than atol().

Per report from Brian Hirt
2010-09-28 21:41:03 +00:00
Magnus Hagander 9f2e211386 Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
Bruce Momjian 8af787ea24 Adjust check_for_isn_and_int8_passing_mismatch() so it is called for all
migrations.

Backpatch to 9.0.
2010-07-25 03:47:29 +00:00
Bruce Momjian 239d769e7e pgindent run for 9.0, second run 2010-07-06 19:19:02 +00:00
Bruce Momjian da254e3d16 Make pg_upgrade copyrights just 2010, not 2010-2010. 2010-07-03 16:33:15 +00:00
Bruce Momjian de255a6eb1 Add copyrights to pg_upgrade and pg_upgrade_tools files, per Tom. 2010-07-03 16:25:01 +00:00
Bruce Momjian ccbe0c14e6 Add CVS tags to pg_upgrade and pg_upgrade_support files, per request
from Tom.
2010-07-03 14:23:14 +00:00
Tom Lane 600fc1dc9d Get rid of some more stuff that duplicates c.h or port.h. 2010-07-01 15:52:52 +00:00
Bruce Momjian 14bd1c3d9e Remove port.h prototypes from pg_upgrade.h, per report from Robert Haas. 2010-07-01 14:37:53 +00:00
Bruce Momjian 601d1eeddc Fix pg_upgrade's use of pg_ctl on Win32 to not send command and sever
output to the same file, because it is impossible.

Also set user name for pg_dumpall in pg_upgrade.
2010-06-22 16:45:10 +00:00
Bruce Momjian 8141523e35 Properly define pg_upgrade global variable, per bug report from Chris
Ruprecht on Mac (64 bit).
2010-06-15 02:08:01 +00:00
Bruce Momjian 785c2acc12 Update pg_upgrade C comment about cwd. 2010-06-12 17:45:28 +00:00
Bruce Momjian 1dc7c796c9 Have pg_upgrade create its output files in the current directory, rather
than in a subdirectory of the $HOME directory, or $TMP in Windows.
2010-06-12 17:05:29 +00:00
Bruce Momjian e9ad14f9f4 Use NAMEDATALEN instead of local define.
Modify path separators for Win32.

Per ideas from Takahiro Itagaki
2010-05-14 00:13:38 +00:00
Bruce Momjian 36d3afd2d4 Remove all mentions of EnterpriseDB Advanced Server from pg_upgrade;
EDB must maintain their own patch set for this.
2010-05-13 22:51:00 +00:00
Magnus Hagander 2b61b3e507 Assorted fixes to make pg_upgrade build on MSVC.
* There is no chmod() on Windows.
* Must always use the 3-parameter version of open()
* There is no dynloader.h - but it also appears unnecessary on all platforms
* Don't include shlobj.h because it causes compile errors, and from what I can
  see it's not actually used. This may need to be added back for mingw
  and/or cygwin in the worst case.
2010-05-13 15:58:15 +00:00
Tom Lane c9c25a982c Clean up unnecessary unportability and compiler warnings by removing the
cmp parameter for pg_scandir().  The code failed to support this anyway
for Sun/Windows, so pretending we could accept a parameter other than
NULL was just asking for trouble.
2010-05-12 16:50:00 +00:00
Bruce Momjian c2e9b2f288 Add pg_upgrade to /contrib; will be in 9.0 beta2.
Add documentation.

Supports migration from PG 8.3 and 8.4.
2010-05-12 02:19:11 +00:00