DB엔지니어가 공부하는 python
파이썬으로 postgresql table ddl 추출 하는 프로그램 만들기
sTricky
2023. 2. 20. 17:55
파이썬으로 postgresql table ddl 추출 하는 프로그램 만들기
안녕하세요.
파이썬을 이용해서 postgresql에 존재하는 테이블에 대한 DDL을 추출해내는 프로그램을 생성 해보았습니다.
필요하신 분들이 잘 사용 하실수 있도록 공유해 드리도록 하겠습니다.
감사합니다.
import subprocess
def extract_table_ddl(table_name):
command = f"pg_dump -st public.{table_name} --schema-only dbname=<database_name> " \
f"-U <username> -h <database_host> -p <database_port>"
process = subprocess.Popen(command, stdout=subprocess.PIPE, shell=True)
(output, err) = process.communicate()
exit_code = process.wait()
if exit_code != 0:
raise Exception(f"Error {exit_code}: {err.decode('utf-8')}")
ddl = output.decode('utf-8')
return ddl
위와 같이 코드를 작성한 뒤 아래와 같이 호출 하시면 됩니다.
table_ddl = extract_table_ddl('table_name')
print(table_ddl)
감사합니다! 좋은하루 되세요.
by.sTricky