sql >> Database >  >> RDS >> PostgreSQL

Hoe te controleren of het openbare PostgreSQL-schema bestaat?

De informatie uit information_schema.schemata hangt af van de rol waarmee u verbonden bent, dus het is niet echt de juiste weergave om een ​​query uit te voeren om schema's in het algemeen te ontdekken.

Het document op information_schema.schemata in 9.3 zegt:

Het is echter niet helemaal duidelijk (althans voor mij) uit alleen die zin, waarom je public niet kunt zien .

In een post op de mailinglijst heeft Tom Lane een uitleg die iets verder gaat:
Zie http://www.postgresql.org/message-id/[email protected]

Zijn conclusie:

wat precies lijkt op het probleem in deze vraag.

Kortom:gebruik pg_namespace in plaats van information_schema.schemata

Dit is in versie 9.4 gewijzigd om te voldoen aan wat gebruikers verwachten. Het huidige document zegt:

USAGE privilege op een schema is nu voldoende om het uit deze weergave te halen.



  1. PostgreSQL:ordinale rangorde (rij-index?) efficiënt verkrijgen

  2. Toon kolommen van het huidige jaar en het vorige jaar in orakel

  3. Gebruik FullCalendar zonder datum

  4. Een connector gebruiken met Helm-geïnstalleerde Kafka/Confluent