sql >> Databáze >  >> RDS >> PostgreSQL

Jak odstranit nepoužívané dočasné soubory z Postgres spravovaného Google Cloud SQL?

Podle dokumentace PostgreSQL , pole temp_bytes je definován jako:

To znamená, že číslo je součtem velikostí dočasných souborů od vytvoření databáze (nebo od posledního pg_stat_reset()), a ne aktuální využití dočasného souboru.

Aktuální využití lze určit pomocí 'souborových funkcí' v necloudové databázové instanci, ale v Cloud SQL běžný uživatel nemůže spustit select pg_ls_dir('base/pgsql_temp') protože to je vyhrazeno pouze superuživatelům.

Jak jste řekl, Cloud SQL je spravovaná služba, takže v tuto chvíli neexistuje způsob, jak zjistit aktuální využití dočasného souboru.

Jedna věc, která určitě vymaže číslo, které vidíte, je pg_stat_reset(), i když, jak již bylo řečeno, nejde o aktuální využití dočasného souboru, ale o historický součet;

Jedna věc, která zaručeně vyčistí dočasné soubory, je restartování instance databáze, součástí procesu spuštění je vymazání base/pgsql_temp adresář.




  1. Proč dotaz SELECT nespustí transakci? [Věštec]

  2. Kdy použít EXCEPT na rozdíl od NOT EXISTS v Transact SQL?

  3. Jak zvýšit rychlost dotazu?

  4. Použití pole SQLAlchemy Integer k vytvoření objektu timedelta pro filtrování