W celu zmiany hasła zwykłego użytkownika najłatwiej jest się zalogować do bazy danych i wydać polecenie:
alter user nazwa_uzytkownika with password 'nowe_haslo';
Tag Archives: PostgreSQL
PostgreSQL: kopia i odtworzenie całej bazy danych
Tworzenie kopii całej bazy danych
Kopię całej bazy danych najkorzystniej jest wykonać z konta użytkownika postgres, poprzez wydanie polecenia:
pg_dumpall > nazwa_pliku_kopii
Odtworzenie całej bazy danych
Odtworzenie całej bazy danych najkorzystniej jest wykonać z konta użytkownika postgres, poprzez wydanie polecenia:
psql -f nazwa_pliku_kopii postgres
PostreSQL: Obliczanie rozmiaru tabeli na dysku
Jeżeli zajdzie potrzeba określenia ile miejsca na dysku zajmuje konkretna tabela bazy danych, to możemy w tym celu użyć następujących funkcji:
pg_relation_size()
– zwraca w bajtach rozmiar samej tabeli na dysku.pg_total_relation_size()
– zwraca w bajtach rozmiar tabeli oraz indeksów na dysku
W celu wyświetlania danych w formacie przyjaznym dla człowieka, polecam użycie funkcji pg_size_pretty()
.
Wyświetlenie rozmiaru samej tabeli bez indeksów możemy wykonać poprzez podanie poniższego polecenia:
cc=# SELECT pg_size_pretty(pg_relation_size('crm_worklog'));
pg_size_pretty ---------------- 4856 kB (1 row)
Wyświetlenie rozmiaru tabeli i indeksów możemy wykonać poprzez podanie poniższego polecenia:
cc=# SELECT pg_size_pretty(pg_total_relation_size('crm_worklog'));
pg_size_pretty ---------------- 5424 kB (1 row)
PostreSQL: Obliczanie miejsca zajmowanego na dysku przez bazę danych
Informacje o rozmiarze bazy danych zajmowanym na dysku możemy uzyskać poprzez wywołanie funkcji:
pg_database_size()
Powyższa funkcja podaje rozmiar w bajtach, co z reguły jest mało przyjazne dla człowieka. W związku z tym polecam użycie funkcji
pg_size_pretty()
Powyższa funkcja dokona konwersji wyświetlanych danych do formatu przyjaznego dla człowieka.
SELECT pg_size_pretty(pg_database_size('cc'));
W wyniku otrzymamy, na przykład:
pg_size_pretty ---------------- 35 MB
PostreSQL: Jak znaleźć największą tabelę w bazie danych?
Niejednokrotnie zetknąłem się z potrzebą znalezienia największej tabeli w bazie danych. Zadanie to można wykonać stosunkowo prosto w następujących krokach:
1. Logujemy się do bazy danych PostgreSQL, na przykład:
psql baza_do_sprawdzenia_największej_tabeli
2. Wydajemy polecenie SQL:
SELECT relname, relpages FROM pg_class ORDER BY relpages DESC limit 1;
W wyniku otrzymamy na przykład:
relname | relpages ---------------------------------+---------- crm_log | 583