В Polars я хотел бы использовать pl.write_database несколько раз с Engine = "ADBC" в одном и том же сеансе, а затем совершайте все в конце с помощью conn.commit () , т.е.
import adbc_driver_postgresql.dbapi as pg_dbapi
import polars as pl
conn = pg_dbapi.connect("postgresql://username:password@host:port/database")
df = pl.DataFrame({"a": [1, 2, 3], "b": [4, 5, 6]})
df.write_database(
"public.table1",
connection=conn,
engine="adbc",
)
df.transpose().write_database(
"public.table2",
connection=conn,
engine="adbc",
)
conn.commit()
< /code>
Причина этого заключается в том, чтобы убедиться, что оба DF записаны в базу данных, либо никто. Тем не менее, DFS записывается немедленно в базу данных один за другой. В документах ADBC сказано: < /p>
По умолчанию, ожидается, что подключения будут работать в режиме автокомммирования; То есть запросы вступают в силу сразу после исполнения. Это может быть отключено в пользу ручных вызовов Commit/Oflback, но не все реализации будут поддерживаться. Может быть, это можно сделать в ADBC_DRIVER_POSTGRESQL.DBAPI.CONNECT
, может быть, с параметра CONN_KWARGS ? conn_kwargs = {"autocommit": false} не сработал.
В Polars я хотел бы использовать pl.write_database несколько раз с Engine = "ADBC" в одном и том же сеансе, а затем совершайте все в конце с помощью conn.commit () , т.е.[code]import adbc_driver_postgresql.dbapi as pg_dbapi import polars as pl
conn.commit() < /code> Причина этого заключается в том, чтобы убедиться, что оба DF записаны в базу данных, либо никто. Тем не менее, DFS записывается немедленно в базу данных один за другой. В документах ADBC сказано: < /p>
По умолчанию, ожидается, что подключения будут работать в режиме автокомммирования; То есть запросы вступают в силу сразу после исполнения. Это может быть отключено в пользу ручных вызовов Commit/Oflback, но не все реализации будут поддерживаться. Может быть, это можно сделать в ADBC_DRIVER_POSTGRESQL.DBAPI.CONNECT [/code], может быть, с параметра CONN_KWARGS ? conn_kwargs = {"autocommit": false} не сработал.
В Polars я хотел бы использовать pl.write_database несколько раз с Engine = ADBC в одном и том же сеансе, а затем совершайте все в конце с помощью conn.commit () , т.е. import adbc_driver_postgresql.dbapi as pg_dbapi
import polars as pl
У меня есть следующий случай, когда я пытаюсь вызвать метод callDB несколько раз (у меня есть миллионы записей для вставки базы данных) с разными операторами sql. У меня будет отдельная логика, которую я буду фиксировать при подключении каждые пару...
У меня есть следующий случай, когда я пытаюсь вызвать метод callDB несколько раз (у меня есть миллионы записей для вставки базы данных) с разными операторами sql. У меня будет отдельная логика, которую я буду фиксировать при подключении каждые пару...