PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Viene visualizzato un errore che non è stato in grado di scrivere il blocco .... del file temporaneo non è rimasto spazio sul dispositivo ... utilizzando postgresql

OK. Poiché mancano ancora alcuni fatti, un tentativo di risposta per chiarire magari la questione:

Sembra che tu stia esaurendo lo spazio su disco. Molto probabilmente perché non hai abbastanza spazio sul tuo disco. Verifica su un df -h Linux/Unix Per esempio.

Per mostrarti come ciò potrebbe accadere:avendo una tabella con forse 3 numeri interi, i dati da soli occuperanno circa 12 Byte. È necessario aggiungere un po' di sovraccarico per la gestione delle righe, ecc. Su un'altra risposta Erwin ha menzionato 23Byte e si è collegato al manuale per ulteriori informazioni su. Inoltre potrebbe essere necessario un po' di riempimento tra le righe, ecc. Quindi facendo un po' di matematica:

Anche con un intero 3 ci ritroveremo a circa 40 Byte per riga. Tenendo presente che volevi inserire 8.000.000, questo si sommerà a 320.000.000 Byte o ~ 300 MB (solo per il nostro esempio di 3 interi e molto approssimativamente).

Ora dando, hai un paio di indici su questa tabella, gli indici cresceranno anche durante gli inserti. Anche un altro aspetto potrebbe essere gonfio sul tavolo e indici che potrebbero essere cancellati con un vuoto.

Allora qual è la soluzione:

  1. Fornisci più spazio su disco al tuo database
  2. Dividi un po' di più i tuoi inserti e assicurati che il vuoto scorra tra di loro