Из CREATE ROLEдокументации :
Обратите внимание, что роли определены на уровне кластера базы данных и поэтому действительны во всех базах данных в кластере.
Так как pg_dumpдамп единственной базы данных, вы не можете извлечь роли с этой утилитой. Предложенная pg_dumpall --roles-onlyвами команда выполнит эту работу, однако вам может потребоваться отфильтровать ее выходные данные, чтобы в новом кластере были созданы только нужные роли.
Роли хранятся в pg_authidкаталоге, который физически хранится в data/global/подпапке установки PostgreSQL, вместе с другими таблицами кластера. Вы можете запросить содержимое pg_authidчерез pg_rolesпредставление.
ПРИМЕЧАНИЕ : вам понадобятся права суперпользователя для снятия ролей. В противном случае, вы получите разрешение на Отказано SELECTна pg_authid- и даже тогда , когда суперпользователь предоставляет SELECTправа, вы получите ту же ошибку. В этом случае, однако, вы можете составить список ролей, pg_authidнапрямую запросив COPYего в файле, и применить некоторую магию для создания необходимых операторов CREATE ROLEи ALTER ROLEоператоров.