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

Heroku pg:tarik gagal mengisi skema

Saya menulis pg:pull dan pg:push perintah.

pg:pull dan pg:push keduanya menggunakan pg_dump perintah dan pipa itu langsung ke pg_restore (Kode sumber). Sayangnya, ada masalah dengan pg:push,pull di windows pada saat jawaban ini, September 2014. Masalah ini tidak dapat diatasi, jadi jika Anda akan menemukan jawaban ini nanti, silakan periksa untuk melihat apakah itu mungkin telah diperbaiki.

env perintah yang digunakan di sini dan di sini saya rasa tidak ada di windows, itulah sebabnya Anda harus melakukan hal-hal PGUSER dan PGPASSWORD. Namun alasan untuk env apakah itu pg_dump membutuhkan variabel lingkungan yang berbeda dari pg_restore .

Saya mencoba memperbaikinya sekali, dengan menggunakan popen untuk mengatur perintah secara mandiri, lalu menyambungkannya alih-alih menggunakan pipa. Namun, saya tidak bisa membuatnya bekerja, dan harus berhenti.

Saya akan sangat senang untuk meninjau patch apa pun yang berfungsi sepenuhnya dan memperbaiki masalah ini, cukup dengan @ mention saya di pull request ke proyek heroku/heroku.

Maaf karena saya gagal memperbaiki masalah ini :(

Sebagai gantinya, dan sampai ini diperbaiki, Anda dapat menggunakan pg_dump dan pg_restore perintah secara terpisah, secara langsung. Ini lebih rumit sebagai proses 2 langkah, dan harus mencari kredensial jarak jauh, tetapi itu akan menyelesaikan pekerjaan. Sumber tertaut di gen_pg_*_command metode menunjukkan cara menggunakan pg_dump dan pg_restore .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Memperbarui baris database tanpa mengunci tabel di PostgreSQL 9.2

  2. Kesalahan saat menghubungkan ke postgresql menggunakan sqlalchemy

  3. Pilih Postgresql hingga jumlah total tertentu tercapai

  4. Bagaimana sql dengan pernyataan rekursif ditafsirkan?

  5. Segarkan tampilan terwujud secara otomatis menggunakan aturan atau beri tahu