Freiberuflich tuend, komme ich auf neue projets.Config postgres, um irgendeine Benutzer-/Kennwortkombination im Entwicklungsmodus zu akzeptieren
Ich finde postgresql Config sehr kompliziert, wenn nur im Entwicklungsmodus verwendet (ich verstehe völlig, dass die Produktionsanforderungen sehr unterschiedlich sind).
Was ich erreichen möchte, ist meine Postgres zu konfigurieren, so dass was auch immer Benutzername/Passwort/Port/Connexion-Modus verwendet wird, hat es alle Rechte an der DB (als Sicherheit ist hier egal). Bei der Arbeit mit Rails ist die gesamte Konfiguration in config/database.yml
und ich möchte nichts von der Datei selbst ändern.
erreicht ich für jede Verbindung jede password_less Authentifizierung mit (lokal und TCP), aber dies zu tun:
# /etc/postgresql/9.3/main/pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD
local all all trust
host all all 0.0.0.0/0 trust
Und:
# /etc/postgresql/9.3/main/postgresql.conf
listen_addresses = '*'
Wie aus dieser Post.
Aber wenn der Benutzer (. ZB appname_dev
) nicht vorhanden ist, erhalte ich:
FATAL: role "appname_dev" does not exist
Dieses Post ermöglicht es mir, den Benutzer in 1 Zeile zu erstellen, die fair genug ist (sudo -u postgres createuser -d -R -P appname_dev
), aber ich würde wirklich gerne Plug and Play sein.
- Wie kann ich das erreichen?
- Gibt es bei postgres keinen Entwicklungsinstallationsmodus, in dem die Anmeldeinformationen standardmäßig viel einfacher konfiguriert wären als der aktuelle?
- Fehle ich einige Best Practice, die dies kein Problem machen?
Ich verstehe die Port-Sache kann knifflig sein, aber IMHO, sollte der Rest nicht!
Danke für die Hilfe!
Es scheint, dass Sie wollen [sqlite] (http://www.sqlite.org), außer es ist nicht vollständig kompatibel mit Postgres auf SQL-Ebene. –
SQLite passt die meisten meiner Anforderungen. Aber was ich möchte ist eine funktionierende db out of the box, ohne eine einzige Konfigurationsdatei bearbeiten zu müssen, was bedeutet, dass die Wahl von Postgres + Benutzername + Passwort bereits getroffen wurde, nicht von mir. –
Sie können nur Verbindungen mit Benutzern herstellen, die in der Datenbank vorhanden sind. Es gibt keinen Weg dahin. Gibt es einen Bootstrap-Schema-Setup-Code in Ihrer Entwicklungsumgebung? Sie könnten dort das notwendige 'create user'-Skript einfügen, und da jeder als Superuser eine Verbindung herstellen kann, kann jeder diesen Bootstrap-Code ausführen. –