summaryrefslogtreecommitdiff
path: root/django/db/backends/postgresql/client.py
blob: 506372bfc4970a4c33bd862730871d8d096020fc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from django.db.backends import BaseDatabaseClient
import os

class DatabaseClient(BaseDatabaseClient):
    executable_name = 'psql'

    def runshell(self):
        settings_dict = self.connection.settings_dict
        args = [self.executable_name]
        if settings_dict['DATABASE_USER']:
            args += ["-U", settings_dict['DATABASE_USER']]
        if settings_dict['DATABASE_PASSWORD']:
            args += ["-W"]
        if settings_dict['DATABASE_HOST']:
            args.extend(["-h", settings_dict['DATABASE_HOST']])
        if settings_dict['DATABASE_PORT']:
            args.extend(["-p", str(settings_dict['DATABASE_PORT'])])
        args += [settings_dict['DATABASE_NAME']]
        os.execvp(self.executable_name, args)