#35394: Warning if `postgres` database has been rename (e.g. DigitalOcean managed)
-------------------------------------+-------------------------------------
Reporter: Jeffry Babb | Owner: nobody
Type: | Status: closed
Cleanup/optimization |
Component: Database layer | Version: 5.0
(models, ORM) |
Severity: Normal | Resolution: needsinfo
Keywords: postgres default db | Triage Stage:
name | Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Natalia Bidart):
* summary:
Warning if 'postgres' database has been rename (e.g. DigitalOcean
managed)
=>
Warning if `postgres` database has been rename (e.g. DigitalOcean
managed)
Old 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.
New 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/postgresql/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.
--
--
Ticket URL: <
https://code.djangoproject.com/ticket/35394#comment:2>
Django <
https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.