Gibt es eine "elegante integrierte" Methode, bei der die Groß- und Kleinschreibung nicht berücksichtigt wird, um zu überprüfen, ob eine Datenbank vorhanden ist?
Ich habe nur gefunden SELECT datname FROM pg_catalog.pg_database WHERE datname='dbname'
, aber dies ist eine CS-Prüfung. Das erste, was mir einfällt, ist, alle Datenbanknamen abzurufen und von Hand zu filtern, aber ich denke, es gibt eine elegantere Möglichkeit, dies zu tun.
postgresql
catalogs
Andrei Orlov
quelle
quelle
Antworten:
Sie können verwenden:
... Bei Datenbanknamen wird jedoch zwischen Groß- und Kleinschreibung unterschieden, sodass der Versuch, eine Verbindung zum DB-Namen herzustellen, nur dann funktioniert, wenn Sie die Groß- und Kleinschreibung korrekt zuordnen. Hierfür werden keine Indizes verwendet
dbname
, aber es ist eher unwahrscheinlich, dass Sie über genügend Datenbanken verfügen, damit dies von Bedeutung ist.Die Leute wissen das nicht, weil PostgreSQL nicht zitierte Bezeichner in Kleinbuchstaben faltet, so dass es für Clients die meiste Zeit ohne Berücksichtigung der Groß- und Kleinschreibung aussieht. In der Tat
"DatabaseName"
und"databasename"
sind verschiedene Dinge.quelle
Wenn Sie eine wahre / falsche Antwort wünschen, können Sie verwenden
quelle