diff options
Diffstat (limited to 'django/db/backends/postgresql/client.py')
| -rw-r--r-- | django/db/backends/postgresql/client.py | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/django/db/backends/postgresql/client.py b/django/db/backends/postgresql/client.py index 8d08b0d5cf..6d4cc9b692 100644 --- a/django/db/backends/postgresql/client.py +++ b/django/db/backends/postgresql/client.py @@ -1,7 +1,6 @@ import os import signal import subprocess -from contextlib import suppress from django.core.files.temp import NamedTemporaryFile from django.db.backends.base.client import BaseDatabaseClient @@ -41,9 +40,7 @@ class DatabaseClient(BaseDatabaseClient): if passwd: # Create temporary .pgpass file. temp_pgpass = NamedTemporaryFile(mode='w+') - # If the current locale can't encode the data, let the user - # input the password manually. - with suppress(UnicodeEncodeError): + try: print( _escape_pgpass(host) or '*', str(port) or '*', @@ -55,6 +52,10 @@ class DatabaseClient(BaseDatabaseClient): flush=True, ) os.environ['PGPASSFILE'] = temp_pgpass.name + except UnicodeEncodeError: + # If the current locale can't encode the data, let the + # user input the password manually. + pass # Allow SIGINT to pass to psql to abort queries. signal.signal(signal.SIGINT, signal.SIG_IGN) subprocess.check_call(args) |
