sql >> Database >  >> RDS >> PostgreSQL

Ik krijg een foutmelding kan blok niet schrijven .... van tijdelijk bestand geen ruimte over op apparaat ... met postgresql

OKÉ. Omdat er nog wat feiten ontbreken, een poging om te antwoorden om het probleem misschien te verduidelijken:

Het lijkt erop dat u onvoldoende schijfruimte heeft. Waarschijnlijk omdat je niet genoeg ruimte op je schijf hebt. Controleer op een Linux/Unix df -h bijvoorbeeld.

Om u te laten zien hoe dit zou kunnen gebeuren:Als u een tabel heeft met misschien 3 gehele getallen, zullen de gegevens alleen al ongeveer 12 bytes in beslag nemen. Je moet er wat overhead aan toevoegen voor rijbeheer enz. Op een ander antwoord Erwin noemde ongeveer 23Byte en linkte naar de handleiding voor meer informatie over. Er kan ook wat opvulling nodig zijn tussen rijen enz. Dus een beetje rekenen:

Zelfs met een geheel getal van 3 komen we uit op ongeveer 40 Byte per rij. Als u in gedachten heeft dat u 8.000.000 wilt invoeren, komt dit neer op 320.000.000 Byte of ~ 300 MB (alleen voor ons voorbeeld van 3 gehele getallen en zeer ruwweg).

Geef nu, je hebt een paar indexen op deze tafel, de indexen zullen ook groeien tijdens de inserts. Een ander aspect kan een opgeblazen gevoel op de tafel zijn en indexen die kunnen worden gewist met een vacuüm.

Dus wat is de oplossing:

  1. Bied meer schijfruimte aan uw database
  2. Verdeel je inzetstukken nog wat meer en zorg ervoor dat er vacuüm tussen de inzetstukken loopt


  1. SQL Server-indexen:belangrijkste vereisten, prestatie-effecten en overwegingen

  2. Selecteer records van een week eerder in mysql

  3. Firesbase-melding naar meerdere gebruikers verzenden

  4. records van één en slechts één type verkrijgen