외부 라이브러리가 없는 Python의 Postgres SELECT/INSERT

외부 라이브러리(psycopg2) 없이 Python에서 Postgress(9.3 이상)를 쿼리할 수 있습니다.

import subprocess
import json

query = "SELECT json_agg(table) FROM table"
args = ["psql", "db_name" ,"db_user" ,"-AStc", query]
out = subprocess.check_output(args, universal_newlines=True)
results = json.loads(out)
print(results)


로 INSERT하는 것도 가능합니다.

data = {
  "question": "when does the ride end ?",
  "answer": "never",
  "category": 1
}

cols = ','.join(''.join(filter(str.isalpha, k)) for k in data.keys())
query = "INSERT INTO tb_faq(%s) SELECT %s FROM json_populate_record(NULL::tb_faq, '%s');"
args = ["psql", "db_name" ,"db_user" ,"-AStc", query%(cols,cols,json.dumps(data))]
subprocess.check_output(args, universal_newlines=True)

좋은 웹페이지 즐겨찾기