З 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заяви.