Zaimportowałem dane do nowej bazy danych (około 600m wierszy znacznika czasu, liczby całkowitej, podwójnej). Następnie utworzyłem niektóre indeksy i próbowałem zmienić niektóre kolumny (niektóre problemy z brakiem miejsca), baza danych jest odkurzana.
Teraz pgAdmin III mówi mi, że „ Rozmiar plików tymczasowych ” wynosi 50G ~ +.
- Co to są pliki tymczasowe? są to jak dziennik transakcji SQL Server?
- Jak się ich pozbyć, wydaje się, że baza danych jest znacznie większa niż powinna (całkowity rozmiar bazy danych to 91 GB)
Korzystanie z Posgres 9.4.1 na serwerze z systemem Windows 2012.
Zrzut ekranu karty statystyk bazy danych:
postgresql
pgadmin
Ofiris
źródło
źródło
Odpowiedzi:
Nic nie znalazłem w dokumentacji pgAdmin, ale kod źródłowy ujawnia zapytanie za tymi wpisami (dodane do Postgres 9.2+):
Sprowadza się do:
A instrukcja Postgres zawiera szczegółowe informacje na temat
pg_stat_database
:Pamiętaj, że te wartości nie wpływają na rozmiar bazy danych. Wskazują jednak, że twoje ustawienie dla
work_mem
może być zbyt niskie, więc wiele operacji sortowania przelewa się na dysk (co jest bardzo wolne w porównaniu do samej pamięci RAM).Związane z:
Aby faktycznie skompaktować rozmiar bazy danych:
Aby zmierzyć rozmiar:
Poza tym: WAL (Write Ahead Log) byłby równoważny w Postgres dla dziennika transakcji w SQL Server. Ładne wyjaśnienie w tej pokrewnej odpowiedzi na temat SO:
źródło
Według:
http://www.postgresql.org/message-id/[email protected]
Licznik temp (używane pliki i miejsce) pokazuje w sumie wszystkie pliki tymczasowe używane od czasu prawdopodobnie utworzenia klastra. Nie odzwierciedla bieżącego miejsca używanego przez pliki tymczasowe.
Na przykład mój system pokazuje prawie 700 GB używanych plików tymczasowych, ale faktyczne miejsce zajmowane przez pliki tymczasowe w /var/lib/pgsql/9.3/data/base/pgsql_tmp wynosi obecnie tylko 53 MB.
źródło