Czy istnieje jedna wkładka, która przyznaje uprawnienia SELECT do nowego użytkownika PostgreSQL?
Coś, co implementuje następujący pseudo-kod:
GRANT SELECT ON TABLE * TO my_new_user;
permissions
sql
postgresql
user-management
Adam Matan
źródło
źródło
default privileges
na schemacie, w którym utworzysz tabelę: postgresql.org/docs/current/static/…public
dla bieżącej bazy danych, z którą jesteś połączony.Moje rozwiązanie (inne niż liniowe):
Uruchom z uprzywilejowanego użytkownika, działało jak urok.
źródło
Można to zrobić w dwuetapowym procesie.
Uruchom to zapytanie:
Części zamienne:
$foo
= nazwa użytkownika, dla którego chcesz przyznać uprawnienia$bar
,$baz
= schematy, w których chcesz przyznać uprawnienia (może być po prostu „publiczny”)To da ci listę zapytań, które wygenerują wymagane uprawnienia. Skopiuj dane wyjściowe, wklej je do innego zapytania i uruchom.
źródło
Właśnie tego użyłem:
Wydaje mi się, że bardziej naturalne jest formatowanie i klauzule where w sql ..
źródło
Skończyło się na tym i zadziałało:
źródło
Pracuję z postgres 8.4 i aby nadać użytkownikowi wszystkie uprawnienia, wykonaj następujące czynności:
źródło
Jednym ze sposobów rozwiązania tego jest napisanie procedury składowanej. niestety nie ma polecenia „przyznaj wszystko wszystkim tabelom”. naprawdę potrzebujesz procedury lub jakiegoś zewnętrznego skryptu powłoki, żeby to zadziałało.
źródło
Skrypt (rozwiązanie jednowierszowe) Adama Matana jest świetny, gdy istnieje wiele schematów, ale nie działa, gdy nazwy schematów lub nazwy tabel zawierają wielkie litery lub znaki specjalne.
Zmodyfikowana wersja:
źródło