@@ -3175,19 +3175,23 @@ ATPrepCmd(List **wqueue, Relation rel, AlterTableCmd *cmd,
31753175case AT_SetLogged :/* SET LOGGED */
31763176ATSimplePermissions (rel ,ATT_TABLE );
31773177tab -> chgPersistence = ATPrepChangePersistence (rel , true);
3178- tab -> newrelpersistence = RELPERSISTENCE_PERMANENT ;
3179- /* force rewrite if necessary */
3178+ /* force rewrite if necessary; see comment in ATRewriteTables */
31803179if (tab -> chgPersistence )
3180+ {
31813181tab -> rewrite = true;
3182+ tab -> newrelpersistence = RELPERSISTENCE_PERMANENT ;
3183+ }
31823184pass = AT_PASS_MISC ;
31833185break ;
31843186case AT_SetUnLogged :/* SET UNLOGGED */
31853187ATSimplePermissions (rel ,ATT_TABLE );
31863188tab -> chgPersistence = ATPrepChangePersistence (rel , false);
3187- tab -> newrelpersistence = RELPERSISTENCE_UNLOGGED ;
3188- /* force rewrite if necessary */
3189+ /* force rewrite if necessary; see comment in ATRewriteTables */
31893190if (tab -> chgPersistence )
3191+ {
31903192tab -> rewrite = true;
3193+ tab -> newrelpersistence = RELPERSISTENCE_UNLOGGED ;
3194+ }
31913195pass = AT_PASS_MISC ;
31923196break ;
31933197case AT_AddOids :/* SET WITH OIDS */