Re: [Django] #35394: Warning if `postgres` database has been rename (e.g. DigitalOcean managed) (was: Warning if 'postgres' database has been rename (e.g. DigitalOcean managed))

2 views
Skip to first unread message

Django

unread,
Apr 22, 2024, 4:39:09 PMApr 22
to django-...@googlegroups.com
#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.
Reply all
Reply to author
Forward
0 new messages