PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Ustawianie schematu dla wszystkich zapytań połączenia w psycopg2:Pobieranie warunków wyścigu podczas ustawiania search_path

Myślę, że bardziej eleganckim rozwiązaniem byłoby ustawienie search_path w options parametr connect() , jak tak:

def connect(conn_config_file = 'Commons/config/conn_commons.json'):
    with open(conn_config_file) as config_file:    
        conn_config = json.load(config_file)

    schema = conn_config['schema']
    conn = psycopg2.connect(
        dbname=conn_config['dbname'],
        user=conn_config['user'],
        host=conn_config['host'],
        password=conn_config['password'],
        port=conn_config['port'],
        options=f'-c search_path={schema}',
    )
    return conn

Oczywiście możesz użyć „opcji” jako części ciągu połączenia. Ale użycie argumentów słów kluczowych zapobiega kłopotom z konkatenacjami ciągów.

Znalazłem to rozwiązanie w tym prośbie o funkcję psycopg2 . Jeśli chodzi o sam parametr "opcje", jest on wspomniany tutaj .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. agregacja postgresu SQL/obrot danych według tygodni z sumami

  2. Polecenie PostgreSql, aby zobaczyć dane tabeli

  3. Kiedy Postgres sprawdza unikalne ograniczenia?

  4. Jak mogę wykonać kod pl/pgsql bez tworzenia funkcji?

  5. Znajdowanie kolumn, które nie są NULL w PostgreSQL