sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur tar man bort oanvända temporära filer från Google Cloud SQL-hanterade Postgres?

Enligt PostgreSQL dokumentationen , fältet temp_bytes definieras som:

Det betyder att numret är summan av de temporära filstorlekarna sedan skapandet av databasen (eller sedan senast pg_stat_reset()), och inte den aktuella temporära filanvändningen.

Den aktuella användningen kan bestämmas med hjälp av "filfunktionerna" i en databas som inte är moln, men i Cloud SQL kan en normal användare inte köra select pg_ls_dir('base/pgsql_temp') eftersom detta endast är reserverat för superanvändare.

Som du sa är Cloud SQL en hanterad tjänst, därför finns det för närvarande inget sätt att se den aktuella användningen av temporära filer.

En sak som definitivt kommer att rensa siffran du ser är pg_stat_reset(), men som tidigare nämnts handlar det inte om aktuell temp filanvändning, utan en historisk summa;

En sak som garanterat kan rensa ut temporära filer är att starta om av databasinstansen, som en del av startprocessen torkar base/pgsql_temp katalog.




  1. Använder PATINDEX för att hitta olika längdmönster i T-SQL

  2. Kontrollera om kolumnen finns, om inte, lägg till i MySQL via PHP

  3. Finns det en kapslingsgräns för korrelerade underfrågor i vissa versioner av Oracle?

  4. postgres byta namn på databasen fungerar inte