powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Потребление памяти
21 сообщений из 21, страница 1 из 1
Потребление памяти
    #40055892
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день,подскажите пожалуйста в обших чертах что может быть или это норм
Делаю миграцию данных из nosql бд -размер данных всего 19 гиг
в постгрес эти же данные занимают 250-300 гиг
с чем это может быть связано - индексы ,резервирование типов данных ,что то иное? как можно выяснить в чем проблема или это нормально для постгрес?
...
Рейтинг: 0 / 0
Потребление памяти
    #40055898
Фотография mefman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
Добрый день,подскажите пожалуйста в обших чертах что может быть или это норм
Делаю миграцию данных из nosql бд -размер данных всего 19 гиг
в постгрес эти же данные занимают 250-300 гиг
с чем это может быть связано - индексы ,резервирование типов данных ,что то иное? как можно выяснить в чем проблема или это нормально для постгрес?

смотрите распределение данных по таблицам.
для начала
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT nspname || '.' || relname AS "relation",
	    pg_size_pretty(pg_total_relation_size(C.oid)) AS "total_size"
	  FROM pg_class C
	  LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
	  WHERE nspname NOT IN ('pg_catalog', 'information_schema')
	    AND C.relkind <> 'i'
	    AND nspname !~ '^pg_toast'
	  ORDER BY pg_total_relation_size(C.oid) DESC
  LIMIT 20;


а учитывая ваши вводные - может быть все что угодно, и индексы и блоат...
Как делаете миграцию btw?
...
Рейтинг: 0 / 0
Потребление памяти
    #40055929
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mefman

а учитывая ваши вводные - может быть все что угодно, и индексы и блоат...
Как делаете миграцию btw?

спасибо за совет,нашел причину
...
Рейтинг: 0 / 0
Потребление памяти
    #40056428
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mefman,смотрите что я получается
я восстанавливаю из дампа бд
делаю ваш скрипт ,там не больше 1 гига
а с диска съедат 5 гиг
вопрос куда делись 4 гига
...
Рейтинг: 0 / 0
Потребление памяти
    #40056430
Фотография mefman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
mefman,смотрите что я получается
я восстанавливаю из дампа бд
делаю ваш скрипт ,там не больше 1 гига
а с диска съедат 5 гиг
вопрос куда делись 4 гига

рискну предположить что вал.
Код: python
1.
du --max-depth=1 -h /pg_data
...
Рейтинг: 0 / 0
Потребление памяти
    #40056441
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mefman
asv79
mefman,смотрите что я получается
я восстанавливаю из дампа бд
делаю ваш скрипт ,там не больше 1 гига
а с диска съедат 5 гиг
вопрос куда делись 4 гига

рискну предположить что вал.
Код: python
1.
du --max-depth=1 -h /pg_data


а что это такое и как победить и как понять что именно вал.( что такое вал.)
...
Рейтинг: 0 / 0
Потребление памяти
    #40056446
Фотография mefman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
mefman
пропущено...

рискну предположить что вал.
Код: python
1.
du --max-depth=1 -h /pg_data


а что это такое и как победить и как понять что именно вал.( что такое вал.)

- побеждать wal не нужно. нужно понять и простить.
- как понять что это wal - покажет разблюдовка места на диске (команда du, которую я скинул ранее)
- что такое wal в деталях расскажет документация
...
Рейтинг: 0 / 0
Потребление памяти
    #40056452
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mefman
asv79
пропущено...

а что это такое и как победить и как понять что именно вал.( что такое вал.)

- побеждать wal не нужно. нужно понять и простить.
- как понять что это wal - покажет разблюдовка места на диске (команда du, которую я скинул ранее)
- что такое wal в деталях расскажет документация



Код: css
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
88K     /var/lib/postgresql/data/pgdata/pg_stat_tmp
5.9M    /var/lib/postgresql/data/pgdata/global
4.1G    /var/lib/postgresql/data/pgdata/pg_wal
4.0K    /var/lib/postgresql/data/pgdata/pg_dynshmem
4.0K    /var/lib/postgresql/data/pgdata/pg_tblspc
4.0K    /var/lib/postgresql/data/pgdata/pg_stat
4.0K    /var/lib/postgresql/data/pgdata/pg_serial
12K     /var/lib/postgresql/data/pgdata/pg_notify
4.0K    /var/lib/postgresql/data/pgdata/pg_replslot
4.0K    /var/lib/postgresql/data/pgdata/pg_twophase
17M     /var/lib/postgresql/data/pgdata/pg_xact
16K     /var/lib/postgresql/data/pgdata/pg_logical
2.0M    /var/lib/postgresql/data/pgdata/pg_subtrans
185M    /var/lib/postgresql/data/pgdata/pg_multixact
67G     /var/lib/postgresql/data/pgdata/base
4.0K    /var/lib/postgresql/data/pgdata/pg_snapshots
4.0K    /var/lib/postgresql/data/pgdata/pg_commit_ts
71G     /var/lib/postgresql/data/pgdata


вот результат выполнения команды
...
Рейтинг: 0 / 0
Потребление памяти
    #40056455
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79,

Если вы про сжатый pg_dump то разница в 5-10 раз между сжатым dump и базой - ситуация полностью нормальная.

Еще раз попробуйте сформулировать вопрос.
Сейчас у вас 67GB занимают базы и 4GB остальные потроха базы (wal и прочая).

Как посмотреть наиболее крупные таблицы вам показали.

Если у вас много разных баз еще можно в psql
\l+ сделать чтобы посмотреть на размеры баз.


--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
Потребление памяти
    #40056456
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Boguk,
нет вопрос у меня в другом -у меня на диске грубо говоря 100 гиг
ресторю базу - с диска уходит 5 гигабайт
беру скрипт из этой темы и смотрю где же эти 5 гигабайт - но вижу что во всех таблицах всего 1 гиг - где все остальное хз
...
Рейтинг: 0 / 0
Потребление памяти
    #40056458
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Boguk,
вот как пример после восстановления дампа такая ситуация
Код: css
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
         relation           | total_size
-----------------------------+------------
147 MB
141 MB
 47 MB
 23 MB
 22 MB
 12 MB
 8936 kB
 8200 kB
 5904 kB
4848 kB
 4312 kB
 4064 kB
 3256 kB
3224 kB
3224 kB
  3024 kB
 2808 kB
 2296 kB
 2056 kB
1760 kB




Код: css
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
4.8M    /var/lib/postgresql/data/pgdata/global
4.0G    /var/lib/postgresql/data/pgdata/pg_wal
4.0K    /var/lib/postgresql/data/pgdata/pg_dynshmem
4.0K    /var/lib/postgresql/data/pgdata/pg_tblspc
4.0K    /var/lib/postgresql/data/pgdata/pg_stat
4.0K    /var/lib/postgresql/data/pgdata/pg_serial
12K     /var/lib/postgresql/data/pgdata/pg_notify
4.0K    /var/lib/postgresql/data/pgdata/pg_replslot
4.0K    /var/lib/postgresql/data/pgdata/pg_twophase
17M     /var/lib/postgresql/data/pgdata/pg_xact
16K     /var/lib/postgresql/data/pgdata/pg_logical
188K    /var/lib/postgresql/data/pgdata/pg_subtrans
186M    /var/lib/postgresql/data/pgdata/pg_multixact
5.6G    /var/lib/postgresql/data/pgdata/base
4.0K    /var/lib/postgresql/data/pgdata/pg_snapshots
4.0K    /var/lib/postgresql/data/pgdata/pg_commit_ts
9.8G    /var/lib/postgresql/data/pgdata


вот теперь вопрос где 5.6 гига ?точней не где,а что это за прикол - если в таблица как видим и гига нет,а base 5.6 G
...
Рейтинг: 0 / 0
Потребление памяти
    #40056461
Фотография mefman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
Maxim Boguk,
нет вопрос у меня в другом -у меня на диске грубо говоря 100 гиг
ресторю базу - с диска уходит 5 гигабайт
беру скрипт из этой темы и смотрю где же эти 5 гигабайт - но вижу что во всех таблицах всего 1 гиг - где все остальное хз

в таблицах гиг, а сколько в индексах?
...
Рейтинг: 0 / 0
Потребление памяти
    #40056462
Guzya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Покажите команду, которой восстанавливаете дамп.
Покажите вывод команды в psql
Код: sql
1.
\l
...
Рейтинг: 0 / 0
Потребление памяти
    #40056463
Guzya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mefman
asv79
Maxim Boguk,
нет вопрос у меня в другом -у меня на диске грубо говоря 100 гиг
ресторю базу - с диска уходит 5 гигабайт
беру скрипт из этой темы и смотрю где же эти 5 гигабайт - но вижу что во всех таблицах всего 1 гиг - где все остальное хз

в таблицах гиг, а сколько в индексах?


там в скрипте pg_total_relation_size()
...
Рейтинг: 0 / 0
Потребление памяти
    #40056471
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79,

а что у вас показывает

select pg_size_pretty(pg_total_relation_size('pg_catalog.pg_largeobject'));


--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
Потребление памяти
    #40056546
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Boguk
asv79,

а что у вас показывает

select pg_size_pretty(pg_total_relation_size('pg_catalog.pg_largeobject'));


--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru


5152 MB
...
Рейтинг: 0 / 0
Потребление памяти
    #40056548
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Guzya
Покажите команду, которой восстанавливаете дамп.
Покажите вывод команды в psql
Код: sql
1.
\l


рестор из pg4admin
но разницы никакой нет если рестор делать из консоли
команда pg_restore -h localhost -U postgres -d basename -1 basename_dump.sql
...
Рейтинг: 0 / 0
Потребление памяти
    #40056614
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
Maxim Boguk
asv79,

а что у вас показывает

select pg_size_pretty(pg_total_relation_size('pg_catalog.pg_largeobject'));


--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru


5152 MB


ну вот вам и ответ где 5GB потерялись.. 5GB файлов в виде large objects в базу загружено.


--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
Потребление памяти
    #40056701
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Boguk
asv79
пропущено...


5152 MB


ну вот вам и ответ где 5GB потерялись.. 5GB файлов в виде large objects в базу загружено.


--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru

large object это что то типо медиа файлов какие либо?или просто какие то большие файлы? просто я не совсем уверен что мы такое грузили себе в бд
...
Рейтинг: 0 / 0
Потребление памяти
    #40056702
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asv79
Maxim Boguk
пропущено...


ну вот вам и ответ где 5GB потерялись.. 5GB файлов в виде large objects в базу загружено.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru

large object это что то типо медиа файлов какие либо?или просто какие то большие файлы? просто я не совсем уверен что мы такое грузили себе в бд


любые большие файлы загруженные как LO
вряд ли они сами по себе там образовались...



можете pg_restore --list сделать чтобы посмотреть что у вас там в dump
или запустить его на чистую базу с --verbose тоже чтобы посмотреть на счет что грузится

ссылается ли на них кто то можно понять по наличию в вас таблиц с полями типа oid


--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
Потребление памяти
    #40056703
Фотография asv79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Boguk
asv79
пропущено...

large object это что то типо медиа файлов какие либо?или просто какие то большие файлы? просто я не совсем уверен что мы такое грузили себе в бд


любые большие файлы загруженные как LO
вряд ли они сами по себе там образовались...



можете pg_restore --list сделать чтобы посмотреть что у вас там в dump
или запустить его на чистую базу с --verbose тоже чтобы посмотреть на счет что грузится

ссылается ли на них кто то можно понять по наличию в вас таблиц с полями типа oid


--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru

спасибо за помощь ,а можно немного подробней как сделать то что вы сказали с чистой базой и на винде,либо через pg4admin
если это невозможно - то обьяснить подробней что за --verbose и что нужно будет смотреть что грузится и где искать таблицы с полями oid
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Потребление памяти
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]