# Этот код копирует все данные из одной таблицы на сервере sql в postgres. # но работает только один раз. проверьте
import pandas as pd
import psycopg2
import io
from sqlalchemy import create_engine
server='NEW'
db1 = create_engine('mssql+pyodbc://@' + server + '/' + 'testdb' + '?driver=SQL+Server')
db2 = psycopg2.connect(database="mockdb", user="postgres", password="code123", host="127.0.0.1", port="5432")
sql_query = "SELECT * FROM employees"
for chunk in pd.read_sql_query(sql_query, db1, chunksize = 500000):
chunk.columns = map(str.lower, chunk.columns)
# Prepare data
output = io.StringIO()
chunk.to_csv(output, sep='\t', header=False, encoding="utf8", index=False)
output.seek(0)
# Inserting data into postgres
cursor = db2.cursor()
cursor.copy_from(output, 'sample_table', sep='\t', null='')
db2.commit()
cursor.close()