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

Jak sprawdzić, czy istnieje publiczny schemat PostgreSQL?

Informacje z information_schema.schemata zależy od roli, z którą jesteś połączony, więc nie jest to właściwy widok do wykonywania zapytań w celu odkrycia schematów w ogóle.

dokument dotyczący information_schema.schemata w 9.3 mówi:

Jednak nie jest całkiem jasne (przynajmniej dla mnie) z tego zdania, dlaczego nie widzisz public .

W poście na liście mailingowej Tom Lane ma wyjaśnienie, które idzie nieco dalej:
Zobacz http://www.postgresql.org/identyfikator-wiadomości/[email protected]

Jego wniosek:

co wygląda dokładnie tak, jak problem w tym pytaniu.

Konkluzja:użyj pg_namespace zamiast information_schema.schemata

Zostało to zmienione w wersji 9.4, aby dostosować się do oczekiwań użytkowników. aktualny dokument mówi:

USAGE uprawnienia do schematu są teraz wystarczające, aby uzyskać je z tego widoku.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Doctrine2 nie ustawia sekwencji jako domyślnej dla kolumny id (postgres)

  2. Jak skonfigurować fragmentowanie PostgreSQL za pomocą ClusterControl

  3. Poprawa szybkości zapytań:prosty SELECT w dużej tabeli postgres

  4. PostgreSQL:zduplikowana wartość klucza narusza unikatowe ograniczenie w poleceniu UPDATE

  5. PostgreSQL usuwa wszystkie rekordy oprócz najstarszych