@@ -368,11 +368,12 @@ buildACLCommands(const char *name, const char *subname,
368368 */
369369bool
370370buildDefaultACLCommands (const char * type ,const char * nspname ,
371- const char * acls ,const char * owner ,
371+ const char * acls ,const char * racls ,
372+ const char * initacls ,const char * initracls ,
373+ const char * owner ,
372374int remoteVersion ,
373375PQExpBuffer sql )
374376{
375- bool result ;
376377PQExpBuffer prefix ;
377378
378379prefix = createPQExpBuffer ();
@@ -388,14 +389,22 @@ buildDefaultACLCommands(const char *type, const char *nspname,
388389if (nspname )
389390appendPQExpBuffer (prefix ,"IN SCHEMA %s " ,fmtId (nspname ));
390391
391- result = buildACLCommands ("" ,NULL ,
392- type ,acls ,"" ,owner ,
393- prefix -> data ,remoteVersion ,
394- sql );
392+ if (strlen (initacls )!= 0 || strlen (initracls )!= 0 )
393+ {
394+ appendPQExpBuffer (sql ,"SELECT pg_catalog.binary_upgrade_set_record_init_privs(true);\n" );
395+ if (!buildACLCommands ("" ,NULL ,type ,initacls ,initracls ,owner ,
396+ prefix -> data ,remoteVersion ,sql ))
397+ return false;
398+ appendPQExpBuffer (sql ,"SELECT pg_catalog.binary_upgrade_set_record_init_privs(false);\n" );
399+ }
400+
401+ if (!buildACLCommands ("" ,NULL ,type ,acls ,racls ,owner ,
402+ prefix -> data ,remoteVersion ,sql ))
403+ return false;
395404
396405destroyPQExpBuffer (prefix );
397406
398- return result ;
407+ return true ;
399408}
400409
401410/*