On Fri, Jul 22, 2016 at 06:29:05PM -0500, Jerry Sievers wrote:
> Has anyone found a clever way to $subject that doesn't involved
> calculating which are all of the files unnecessary to send and then
> running rsync with an exclude list?
>
> I'm pondering this right now.
>
> ISTM for each unlogged table/index/toast in pg_class where
> relpersistence='u'...
>
> rsync --exclude-from... (and exclude-from-file contains)
>
> */base/$dbid/$relfilenode
> */base/$dbid/$relfilenode.*
> */base/$dbid/$relfilenode_*
> ...
>
> The leading * will match the old/new data directoryes being sent to the
> standby.
>
> MAster upgrade is done using hard-links and the rsync method generally
> as per the pg docs.
>
> I have among others, a 5TB system w/about 40G of unlogged data.
>
> The rsync method of upgrade takes only several seconds during a snapshot
> based test however as the snap was off a live system, the crash recovery
> startup trunc'd all the unlogged data.
>
> This will not be the case during the real upgrade and I just as soon
> avoid sending the unlogged data only to have it trunc'd away as soon as
> the standby is started after the upgrade.
Good question --- I don't think there is an easy answer except to
truncate the unlogged tables before the upgrade.
--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://enterprisedb.com
+ As you are, so once was I. As I am, so you will be. +
+ Ancient Roman grave inscription +