I'm working on pg_upgrade concept. I try to determine what is changed
from 8.1 to 8.2. There is list of important areas for upgrade and
suggested action.
1) BKI - catalog.
There are a lot of changes. See attached file.
a) There is new table pg_shdescription
action: create
b) There is new record in some tables.
action: insert
question: Should be any OID conflict during insertion?
c) Some records are changed
action: ???
d) Some record are removed
action: keep it
question : Is it safe to keep for example record in the pg_proc?
2) GUC - postgresql.conf
a) New variable.
action: nothing
b) Some changes (default, context)
action: nothing
c) backslash_quote is removed
action: removed from postgresql.conf
There is list of GUC changes:
ssl (assign hook)
array_nulls (new)
escape_string_warning (default false->true, context
PGC_INTERNAL->PGC_USERSET)
allow_system_table_mods (new)
ignore_system_indexes (new)
post_auth_delay (new)
join_collapse_limit (description)
backslash_quote (removed)
search_path (default $user,public -> \"$user\",public)
3) pg_hba.conf, pg_ident.conf
no changes
4) Disk layout is same - version 3
5) Tuples
question: Does have data types some disk representation?
Does have tupleheader same structure?
6) Indexes
question: Any changes on disk representation?
Should be possible remove all index before upgrade and recreate
them on the new version instead upgrade index structure?
7) Change PG_VERSION files
8) WAL/XLOG
Question: Should be deleted?
9) ...
Any other ideas?
Zdenek