PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak nadać wszystkie uprawnienia do widoków dowolnemu użytkownikowi?

Powodem jest to, że potrzebujesz dodatkowych uprawnień, aby uzyskać dostęp do widoku lub tabeli. Uprawnienia w bazie danych nie obejmują dostępu do wszystkich znajdujących się w niej obiektów.

Inaczej jest z funkcjami:EXECUTE uprawnienie jest przyznawane użytkownikowi public domyślnie. Ale funkcja jest realizowana z uprawnieniami aktualnego użytkownika. Być może zainteresuje Cię SECURITY DEFINER modyfikator dla CREATE FUNCTION . Ale normalnie wystarczy przyznać SELECT na zaangażowanych stołach.

Zgodnie z dokumentacją dotyczącą uprawnień domyślnych:

W zależności od typu obiektu, początkowe uprawnienia domyślne mogą obejmować nadanie niektórych uprawnień do PUBLIC . Domyślnie nie ma publicznego dostępu do tabel, kolumn, schematów i obszarów tabel; CONNECT przywilej i TEMP uprawnienia do tworzenia tabel dla baz danych; EXECUTE uprawnienia do funkcji; i USAGE przywilej dla języków.

Możesz być zainteresowany tym poleceniem DDL (wymaga Postgres 9.0 lub później):

GRANT SELECT ON ALL TABLES IN SCHEMA public TO myuser;

Oczywiście z połączeniem z daną bazą danych (patrz komentarz @marcela poniżej) i jako użytkownik z wystarczającymi uprawnieniami. Możesz być również zainteresowany ustawieniem DEFAULT PRIVILEGES :

  • Przyznaj wszystko w określonym schemacie w bazie danych do roli grupowej w PostgreSQL

Bardziej szczegółowa odpowiedź na temat zarządzania uprawnieniami:

  • Jak zarządzać DOMYŚLNYMI UPRAWNIENIAMI dla UŻYTKOWNIKÓW BAZ DANYCH a SCHEMATEM?

pgAdmin ma funkcję dla bardziej wyrafinowanych operacji zbiorczych:

Możesz też wysłać zapytanie do katalogów systemowych, aby utworzyć instrukcje DDL do masowego przyznawania / odwoływania ...




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Używanie logicznej replikacji PostgreSQL do utrzymywania zawsze aktualnego serwera TEST do odczytu/zapisu

  2. Konfiguracja bazy danych ActiveRecord::AdapterNotSpecified nie określa adaptera

  3. Jak używać jpa danych wiosennych do zapytania kolumny jsonb?

  4. składnia klucza obcego postgresql

  5. Czy PostgreSQL może wykonać łączenie między dwiema procedurami składowanymi SQL Server?