Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Потребление памяти / 21 сообщений из 21, страница 1 из 1
22.03.2021, 15:23
    #40055892
asv79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потребление памяти
Добрый день,подскажите пожалуйста в обших чертах что может быть или это норм
Делаю миграцию данных из nosql бд -размер данных всего 19 гиг
в постгрес эти же данные занимают 250-300 гиг
с чем это может быть связано - индексы ,резервирование типов данных ,что то иное? как можно выяснить в чем проблема или это нормально для постгрес?
...
Рейтинг: 0 / 0
22.03.2021, 15:41
    #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
22.03.2021, 16:31
    #40055929
asv79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потребление памяти
mefman

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

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

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

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


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

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


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

- побеждать wal не нужно. нужно понять и простить.
- как понять что это wal - покажет разблюдовка места на диске (команда du, которую я скинул ранее)
- что такое wal в деталях расскажет документация
...
Рейтинг: 0 / 0
23.03.2021, 20:37
    #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
23.03.2021, 20:53
    #40056455
Maxim Boguk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потребление памяти
asv79,

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

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

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

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


--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
23.03.2021, 21:04
    #40056456
asv79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потребление памяти
Maxim Boguk,
нет вопрос у меня в другом -у меня на диске грубо говоря 100 гиг
ресторю базу - с диска уходит 5 гигабайт
беру скрипт из этой темы и смотрю где же эти 5 гигабайт - но вижу что во всех таблицах всего 1 гиг - где все остальное хз
...
Рейтинг: 0 / 0
23.03.2021, 21:16
    #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
23.03.2021, 21:46
    #40056461
mefman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потребление памяти
asv79
Maxim Boguk,
нет вопрос у меня в другом -у меня на диске грубо говоря 100 гиг
ресторю базу - с диска уходит 5 гигабайт
беру скрипт из этой темы и смотрю где же эти 5 гигабайт - но вижу что во всех таблицах всего 1 гиг - где все остальное хз

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

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


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

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

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


--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
24.03.2021, 08:56
    #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
24.03.2021, 09:01
    #40056548
asv79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потребление памяти
Guzya
Покажите команду, которой восстанавливаете дамп.
Покажите вывод команды в psql
Код: sql
1.
\l


рестор из pg4admin
но разницы никакой нет если рестор делать из консоли
команда pg_restore -h localhost -U postgres -d basename -1 basename_dump.sql
...
Рейтинг: 0 / 0
24.03.2021, 12:24
    #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
24.03.2021, 18:07
    #40056701
asv79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потребление памяти
Maxim Boguk
asv79
пропущено...


5152 MB


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


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

large object это что то типо медиа файлов какие либо?или просто какие то большие файлы? просто я не совсем уверен что мы такое грузили себе в бд
...
Рейтинг: 0 / 0
24.03.2021, 18:23
    #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
24.03.2021, 18:48
    #40056703
asv79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потребление памяти
Maxim Boguk
asv79
пропущено...

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


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



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

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


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

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


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