W PostgreSQL użytkownik musi mieć Przywilej logowania Aby zalogować się do bazy danych. Jednak należy przypisać wyraźne uprawnienia do wykonywania operacji bazy danych, w tym wybieranie tabel, kolumn i rekordów.
Grant PostgreSQL Zapytanie umożliwia modyfikowanie uprawnień dla użytkowników w obiektach bazy danych, takich jak tabele, kolumny, widoki, funkcje, schematy i inne.
Ten samouczek przeprowadzi cię przez korzystanie z Grant PostgreSQL polecenie modyfikowania uprawnień dla różnych obiektów bazy danych.
Podstawowe użycie
Podstawową składnią do polecenia dotacji to:
Przywilej dotacji na obiekty (ów) dla użytkownikaW powyższej składni możesz określić jeden lub więcej uprawnień do przyznania użytkownikowi określonego obiektu.
Aby ustawić wszystkie uprawnienia na obiekcie, możesz użyć wszystkich słów kluczowych.
Niektóre z uprawnień, które możesz określić, aby przyznać w obiekcie, obejmują:
Następnie określisz obiekt bazy danych i użytkownika, który do udzielania uprawnień SET.
Przykłady oświadczenia dotacji
Spójrzmy na kilka przykładów korzystania z Zapytanie grantowe na Baza danych PostgreSQL.
Najpierw utwórz lokalnego użytkownika bez uprawnień. Aby to zrobić, upewnij się, że zalogujesz się jako użytkownik administratora.
PSQL -U PostgresW następnym kroku utwórz przykładową bazę danych i tabelę, której użyjemy do zilustrowania uprawnień PostgreSQL.
Przykładowe zapytanie znajduje się poniżej:
Upuść bazę danych, jeśli istnieje privs;Na koniec wyjdź użytkownika Postgres i zaloguj się jako użytkownik, który właśnie stworzyliśmy powyżej. W powyższym przykładzie użyj polecenia:
PSQL -U MODS -D Privs;Przykład 1
Jeśli spróbujesz wybrać wartości z tabeli modyfikującej bazę danych Privs, otrzymasz błąd odmowy uprawnień.
Na przykład:
privs => wybierz * z modyfikuj;Możesz rozwiązać ten błąd, przyznawając wszystkie uprawnienia użytkownikowi MODS lub dodając uprawnienia do wybranych.
Aby to zrobić, zaloguj się jako użytkownik Postgres.
psql -u postgres -d privs;Umożliwia to użytkownikom MODS wybieranie elementów z tabeli modyfikujących bazę danych Privs.
Po uruchomieniu instrukcji Select powinieneś uzyskać wyniki jako:
privs =# Wybierz * z modyfikuj;Przykład 2
Możesz także przypisać wiele uprawnień jednocześnie. Na przykład, aby określić Wybierz, wstaw, usuń i obcinaj uprawnienia, użyj polecenia.
GRAND SELECT, WESTER, Usuń, obcinaj na modyfikującym mody;Przykład 3
Aby udzielić wszystkich uprawnień użytkownikowi, ustaw uprawnienia do wszystkich, jak pokazano w poniższym komendzie przykładowym:
Przyznać wszystko na modyfikuj na mods;Przykład 4
We wszystkich powyższych przykładach przypisujemy użytkownikowi uprawnienia tylko w określonej tabeli. Aby przyznać przywileje wszystkim tabelom określonego schematu, możemy użyć polecenia:
GRAND SELECT, WESTER, Usuń, obcinaj na wszystkich tabelach w schemacie „Privs” do modów;Przykład 5
Możesz również DOTACJA uprawnienie do określonego użytkownika do określonej bazy danych. Zapytanie brzmi:
Grant Connect w bazie danych Privs do modów;Aby odwołać wszystkie uprawnienia przyznane użytkownikowi, użyj zapytania Revoke jako:
Cofnij Wybierz, wstaw, usuń, obcinaj na modyfikując z modów;Zamknięcie
Jak pokazał ci ten przewodnik, PostgreSQL umożliwia modyfikowanie uprawnień do użytkownika w obiektach bazy danych za pomocą Dotacja i odwołanie polecenia.