Mam użytkownika: user_x który jest właścicielem bazy danych PostgreSQL i nie ma żadnego atrybutu ROLE jak (CREATE_DB, superuser, ...)Właściciel bazy danych PostgreSQL nie może uzyskać dostępu do bazy danych - "Nie znaleziono relacji".
Ten user_x może uzyskać dostęp do całej DB, tworzenie tabel (na jego baza danych), wybierz, wstaw i aktualizuj dane.
Mam tę listę baz danych:
mydatabase=> \l
List of databases
Name | Owner | Encoding | Collation | Ctype | Access privileges
-------------------------+----------+-----------+-----------+-------+-----------------------
postgres | postgres | SQL_ASCII | C | C |
mydatabase | user_x | UTF8 | C | C |
template0 | postgres | SQL_ASCII | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | SQL_ASCII | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
whoami | postgres | SQL_ASCII | C | C |
(6 rows)
oraz następujące role:
mydatabase=> \du
List of roles
Role name | Attributes | Member of
-----------+-----------------------------------+-----------
postgres | Superuser, Create role, Create DB | {}
user_x | | {}
mydatabase=> \d
List of relations
Schema | Name | Type | Owner
--------+-----------------------------------+----------+----------
public | addresses | table | user_x
public | addresses_id_seq | sequence | user_x
public | assignments | table | user_x
public | assignments_id_seq | sequence | user_x
...
porządku, dopóki nie zrzutu danych i przywrócić go na inny serwer PostgreSQL.
Po importu danych z innego serwera (o tej samej nazwie z bazy danych i użytkownika) i rejestrowane na psql \ d odpowiedź komenda z: „żadne powiązania znaleźć.”
Więc dodałem SUPERUŻYTKOWNIK rolę user_x na importowany serwera bazy danych i Tada user_x można zobaczyć relacje i dane ponownie.
Ale user_x nie musi mieć uprawnień SUPERUSER, aby uzyskać dostęp do tej bazy danych.
Co jest nie tak z tym zaimportowanym zrzutem? Czy ktoś może teraz rozwiązać ten problem?
Cześć A. H. umiejętności ninja musi mieć. Miałeś rację! Uprawnienia dostępu były zerowe. – AndreDurao
Ahh wielkie dzięki za te 3 godziny mojego życia, które właśnie dałeś mi z powrotem z tym! – cjauvin
Co oznacza symbol "c" w uprawnieniu, więc mogę dodać, że zamiast dodawać wszystkie uprawnienia, nie chcę go dodawać? –