Opened 19 months ago
Last modified 19 months ago
#35394 closed Cleanup/optimization
Warning if 'postgres' database has been rename (e.g. DigitalOcean managed) — at Initial Version
| Reported by: | Jeffry Babb | Owned by: | nobody |
|---|---|---|---|
| Component: | Database layer (models, ORM) | Version: | 5.0 |
| Severity: | Normal | Keywords: | postgres default db name |
| Cc: | Triage Stage: | Unreviewed | |
| Has patch: | no | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
This warning is thrown if the 'postgres' database does not exist on the server. DigitalOcean renames this database to 'defaultdb' which seems to raise this error in dango/db/backends/base/base.py
except (Database.DatabaseError, WrappedDatabaseError):
if cursor is not None:
raise
warnings.warn(
"Normally Django will use a connection to the 'postgres' database "
"to avoid running initialization queries against the production "
"database when it's not needed (for example, when running tests). "
"Django was unable to create a connection to the 'postgres' database "
"and will use the first PostgreSQL database instead.",
RuntimeWarning,
)
I have searched in the LIBPQ parameters can can't find a setting that allows me to specify this name change as Django seems to have hard-coded the search for the 'postgres' db name or is looking for it in a key called 'service' around line 193 and 218 in base.py.
Note:
See TracTickets
for help on using tickets.