मुझे लगता है कि search_path
. सेट करना एक अधिक सुंदर समाधान होगा options
. में connect()
. का पैरामीटर , इस तरह:
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
बेशक, आप कनेक्शन स्ट्रिंग के हिस्से के रूप में "विकल्प" का उपयोग कर सकते हैं। लेकिन कीवर्ड तर्कों का उपयोग करने से स्ट्रिंग संयोजनों की सभी परेशानी दूर हो जाती है।
मुझे यह समाधान इस psycopg2 सुविधा अनुरोध में मिला है . जहां तक "विकल्प" पैरामीटर की बात है, तो इसका उल्लेख किया गया है यहाँ ।