PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

SQLAlchemy, Psycopg2 dan Postgresql COPY

jawaban yang diterima benar tetapi jika Anda ingin lebih dari sekadar komentar EoghanM, berikut ini berhasil bagi saya dalam MENYALIN tabel ke CSV...

from sqlalchemy import sessionmaker, create_engine

eng = create_engine("postgresql://user:[email protected]:5432/db")
ses = sessionmaker(bind=engine)

dbcopy_f = open('/tmp/some_table_copy.csv','wb')

copy_sql = 'COPY some_table TO STDOUT WITH CSV HEADER'

fake_conn = eng.raw_connection()
fake_cur = fake_conn.cursor()
fake_cur.copy_expert(copy_sql, dbcopy_f)

sessionmaker tidak perlu tetapi jika Anda terbiasa membuat mesin dan sesi secara bersamaan untuk menggunakan raw_connection Anda harus memisahkannya (kecuali ada cara untuk mengakses mesin melalui objek sesi yang saya tidak tahu). String sql disediakan untuk copy_expert juga bukan satu-satunya cara untuk itu, ada copy_to dasar fungsi yang dapat Anda gunakan dengan subset dari parameter yang dapat Anda lewati ke COPY normal UNTUK bertanya. Kinerja keseluruhan dari perintah tampak cepat bagi saya, menyalin tabel ~20.000 baris.

http://initd.org/psycopg/docs/cursor.html#cursor.copy_tohttp://docs.sqlalchemy.org/en/latest/core/connections.html#sqlalchemy.engine.Engine.raw_connection



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Penyaringan Django JSONField

  2. PostgreSQL:Tipe Data mana yang harus digunakan untuk Mata Uang?

  3. bagaimana saya bisa membuat file XML baru dari database yang ada di database PostgreSQL menggunakan java

  4. Cara mendapatkan PostgreSQL di VPS / Dedicated Server

  5. Cara mengakses Oracle Database di PostgreSQL