
Alexey
26.07.2019
14:04:12
Щито.
Но почему.
Я думал матх умеет.
А вот самое первое — это н-да.

Google

vlade11115
26.07.2019
14:04:58

Zart
26.07.2019
14:07:33
math у нас обёртки к libm
** у нас на самопальной реализации бигнумов
цматх вроде своя реализация опять же

Nick
26.07.2019
14:18:54
они за него и голосовали
даже швабода 5% с ляшко не набрали

vlade11115
26.07.2019
14:20:40
Как что-то плохое.

Zart
26.07.2019
14:20:40
https://www.youtube.com/watch?v=N5jSzrbivZo

Boris
26.07.2019
14:23:29

Nick
26.07.2019
14:25:10
так запад за кого голосовал?
за них же судя по стате
прикол тут в другом еще
юг от востока стал отличаться
на юге за зелю 51 проц, 7 за тех бывших регионалов
а на востоке - 37 за зелю и 34 за бывших регионалов

Google

Nick
26.07.2019
14:26:15
(ладно, у зели тоже регионалов полно в штабах, но вы понели)

Boris
26.07.2019
14:27:44
а про то что биндеровцы единственные якобы вооруженые маргиналы на украине, способные совершить путч

Nick
26.07.2019
14:28:05
так а на основании чего война?
здравствуйте
на основании чего?

Boris
26.07.2019
14:28:17
я считаю, что им просто хуи в анусы напихают

Nick
26.07.2019
14:28:21
путч против кого? про того кого и голосовали?

Boris
26.07.2019
14:28:41
биндеровец - маргиниализированный долбоеб и быдлан, готовый пойти пиздится за своего локального вождя и незалежную украину
гражданин участвующий в голосовании не тождественен биндеровцу

Nick
26.07.2019
14:29:24
здравствуйте
маргиналы еще как голосуют
вопрос почему ты их отделяешь от голосующих?

Саша
26.07.2019
14:29:49

Boris
26.07.2019
14:29:49
бля ты с теорией множеств знаком?

Dmitry
26.07.2019
14:30:10

Boris
26.07.2019
14:30:56
тебе говорят конкретное определение того, кого понимали под биндеровцев. маргинал может быть и просто маргиналом, не будучи участником группы националистов
а националист может быть не биндеровцем.

Nick
26.07.2019
14:31:17
еще раз, с какого перепугу он голосовать не будет?

Google

Boris
26.07.2019
14:31:20
но если есть группа людей с оружием - будучи меньшинством они могут организовать захват власти

Nick
26.07.2019
14:31:33
а если и взять всех кто входит в группу "маргиниализированный долбоеб и быдлан, готовый пойти пиздится за своего локального вождя и незалежную украину которое не голосует"
схуяли ему вообще быть сколько либо значимым?

Boris
26.07.2019
14:31:58
не пойти голосовать за "Слугу народа" очевидно же

Dmitry
26.07.2019
14:32:17
Ну што вы тут политоту развели

Nick
26.07.2019
14:32:19
схуяли?

Boris
26.07.2019
14:32:23
бля заебал

Nick
26.07.2019
14:32:31
"я считаю что есть маргиналы у которых ак и их много"

Boris
26.07.2019
14:32:31
где тут ридонли написать, научите
разобрался
шутейку утренню про ебаных тупарей аналитиков боящихся кучки бомжей с выдуманными автоматами превратили хуй пойми во что, еще я и отстаивать должен чужую позицию, про страну на которую мне похуй совсем. так и превращают либерал-коммунистов в ватанов.

Alexey
26.07.2019
14:36:42
Ещё один всё понял.


Vladimir
26.07.2019
14:42:52
Коллеги, у меня охуенно тупой вопрос про постгрес, подскажите пожалуйста. Каким образом размер базы в postgres может быть больше, чем сумма размеров таблиц (причем в разы) и как этот самый размер базы можно уменьшить?
Конкретно сейчас вот такая херня: maasdb 2480mb
postgres=# \l+
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges | Size | Tablespace | Description
-----------+----------+----------+-------------+-------------+-----------------------+---------+------------+--------------------------------------------
maasdb | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | 2480 MB | pg_default |
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | 7639 kB | pg_default | default administrative connection database
template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +| 7505 kB | pg_default | unmodifiable empty database
| | | | | postgres=CTc/postgres | | |
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +| 7505 kB | pg_default | default template for new databases
| | | | | postgres=CTc/postgres | | |
(4 rows)
Но при этом самая большая таблица там - 200mb:
maasdb=# SELECT nspname || '.' || relname AS "relation",
maasdb-# pg_size_pretty(pg_total_relation_size(C.oid)) AS "total_size"
maasdb-# FROM pg_class C
maasdb-# LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
maasdb-# WHERE nspname NOT IN ('pg_catalog', 'information_schema')
maasdb-# AND C.relkind <> 'i'
maasdb-# AND nspname !~ '^pg_toast'
maasdb-# ORDER BY pg_total_relation_size(C.oid) DESC
maasdb-# LIMIT 5;
relation | total_size
------------------------------------+------------
public.maasserver_event | 253 MB
public.metadataserver_scriptresult | 7200 kB
public.piston3_nonce | 4088 kB
public.maasserver_node | 440 kB
public.metadataserver_nodeuserdata | 432 kB
(5 rows)
Подскажите, плз, в какую сторону копать - чет не могу сообразить.


Alexey
26.07.2019
14:43:15
Автовакуум чо как?

Vladimir
26.07.2019
14:43:33
Вручную запустил, ничо не поменялось.
А, и да, du -h /var/lib/postgres ваще 6.8gb. О_о

Milton
26.07.2019
14:45:17


Alexey
26.07.2019
14:45:36
Данных на 253, индексов на 2530?
Этож посгря, а не мускул.

Google

Vladimir
26.07.2019
14:47:08
Так блин, физически на диске 8гб, размер базы 2гб, сумма по таблицам меньше 300мб. Магия, блядь
Но я в магию не верю и пытаюсь разобраться.

Zart
26.07.2019
14:47:35


Vladimir
26.07.2019
14:48:10
а ты там пг_тоаст выкинул
maasdb=# SELECT nspname || '.' || relname AS "relation",
maasdb-# pg_size_pretty(pg_total_relation_size(C.oid)) AS "total_size"
maasdb-# FROM pg_class C
maasdb-# LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
maasdb-# WHERE nspname NOT IN ('pg_catalog', 'information_schema')
maasdb-# AND C.relkind <> 'i'
maasdb-# ORDER BY pg_total_relation_size(C.oid) DESC
maasdb-# LIMIT 5;
relation | total_size
------------------------------------+------------
public.maasserver_event | 253 MB
public.metadataserver_scriptresult | 7200 kB
pg_toast.pg_toast_18532 | 6408 kB
public.piston3_nonce | 4088 kB
pg_toast.pg_toast_2618 | 632 kB
(5 rows)
Не сильно что-то поменялось :-/

Zart
26.07.2019
14:48:33
может WAL?

Vladimir
26.07.2019
14:52:12
Слушай, а вот это уже похоже на правду
275 объектов по 16мб... 4.4гб WAL'а, значит
И все равно не понимаю.
Данные в таблице - 250мб.
Постгрес репортит размер базы 2.5гб.
WAL 4.4гб.
На диске 6.8гб.

Dmitry
26.07.2019
14:57:34
@en_austin ну-ка покажи?
SELECT
"table_name",
pg_size_pretty ( total_bytes ) AS total,
pg_size_pretty ( index_bytes ) AS INDEX,
pg_size_pretty ( toast_bytes ) AS TOAST,
pg_size_pretty ( table_bytes ) AS TABLE
FROM
(
SELECT
*,
total_bytes - index_bytes - COALESCE ( toast_bytes, 0 ) AS table_bytes
FROM
(
SELECT C
.oid,
nspname AS table_schema,
relname AS TABLE_NAME,
C.reltuples AS row_estimate,
pg_total_relation_size ( C.oid ) AS total_bytes,
pg_indexes_size ( C.oid ) AS index_bytes,
pg_total_relation_size ( reltoastrelid ) AS toast_bytes
FROM
pg_class
C LEFT JOIN pg_namespace n ON n.oid = C.relnamespace
WHERE
relkind = 'r'
) A
) A
WHERE table_schema = 'public'
ORDER BY
total_bytes DESC;


Vladimir
26.07.2019
14:57:55
@en_austin ну-ка покажи?
SELECT
"table_name",
pg_size_pretty ( total_bytes ) AS total,
pg_size_pretty ( index_bytes ) AS INDEX,
pg_size_pretty ( toast_bytes ) AS TOAST,
pg_size_pretty ( table_bytes ) AS TABLE
FROM
(
SELECT
*,
total_bytes - index_bytes - COALESCE ( toast_bytes, 0 ) AS table_bytes
FROM
(
SELECT C
.oid,
nspname AS table_schema,
relname AS TABLE_NAME,
C.reltuples AS row_estimate,
pg_total_relation_size ( C.oid ) AS total_bytes,
pg_indexes_size ( C.oid ) AS index_bytes,
pg_total_relation_size ( reltoastrelid ) AS toast_bytes
FROM
pg_class
C LEFT JOIN pg_namespace n ON n.oid = C.relnamespace
WHERE
relkind = 'r'
) A
) A
WHERE table_schema = 'public'
ORDER BY
total_bytes DESC;

Dmitry
26.07.2019
14:58:21
забавно

Vladimir
26.07.2019
14:59:22
То есть с физическим размером разобрались, база+WAL в сумме как раз даёт то самое занятое место. А вот почему постгря раздулась - непонятно пока

Zart
26.07.2019
14:59:25

Vladimir
26.07.2019
14:59:32

Dmitry
26.07.2019
14:59:51
а настройки wal'а в postgresql.conf какие?
репликация включена?
wal_keep_segments например сколько ?


Vladimir
26.07.2019
15:00:42
а настройки wal'а в postgresql.conf какие?
репликация включена?
Реплики нет, сингл инстанс.
postgres@OrangeBox84:/home/ubuntu$ grep 'wal' -RiP /etc/postgresql
grep: /etc/postgresql/10/main/pg_hba.conf.bak: Permission denied
/etc/postgresql/10/main/postgresql.conf:# RESOURCE USAGE (except WAL)
/etc/postgresql/10/main/postgresql.conf:#wal_level = replica # minimal, replica, or logical
/etc/postgresql/10/main/postgresql.conf:#wal_sync_method = fsync # the default is the first option
/etc/postgresql/10/main/postgresql.conf:#wal_compression = off # enable compression of full-page writes
/etc/postgresql/10/main/postgresql.conf:#wal_log_hints = off # also do full page writes of non-critical updates
/etc/postgresql/10/main/postgresql.conf:#wal_buffers = -1 # min 32kB, -1 sets based on shared_buffers
/etc/postgresql/10/main/postgresql.conf:#wal_writer_delay = 200ms # 1-10000 milliseconds
/etc/postgresql/10/main/postgresql.conf:#wal_writer_flush_after = 1MB # measured in pages, 0 disables
/etc/postgresql/10/main/postgresql.conf:#max_wal_size = 1GB
/etc/postgresql/10/main/postgresql.conf:#min_wal_size = 80MB
/etc/postgresql/10/main/postgresql.conf:#max_wal_senders = 10 # max number of walsender processes
/etc/postgresql/10/main/postgresql.conf:#wal_keep_segments = 0 # in logfile segments, 16MB each; 0 disables
/etc/postgresql/10/main/postgresql.conf:#wal_sender_timeout = 60s # in milliseconds; 0 disables
/etc/postgresql/10/main/postgresql.conf: # when reading WAL from archive;
/etc/postgresql/10/main/postgresql.conf: # when reading streaming WAL;
/etc/postgresql/10/main/postgresql.conf:#wal_receiver_status_interval = 10s # send replies at least this often
/etc/postgresql/10/main/postgresql.conf:#wal_receiver_timeout = 60s # time that receiver waits for
/etc/postgresql/10/main/postgresql.conf:#wal_retrieve_retry_interval = 5s # time to wait before retrying to
/etc/postgresql/10/main/postgresql.conf: # retrieve WAL after a failed attempt
/etc/postgresql/10/main/postgresql.conf:wal_level = hot_standby
/etc/postgresql/10/main/postgresql.conf:max_wal_senders = 10
/etc/postgresql/10/main/postgresql.conf:wal_keep_segments = 256

Google

Dmitry
26.07.2019
15:01:55
max_wal_size ?

Vladimir
26.07.2019
15:02:58
закомменчен. сколько он там дефолтный в доке... 1гб

Boris
26.07.2019
15:04:21
на каждую таблицу, поди

Dmitry
26.07.2019
15:04:53
ну 256 у тебя не дефолтный :)
ваш maas видимо на всякий случай, "а вдруг репликация?"
вон и max_wal_senders указаны и wal_keep_segments
дефолт в бубунте
max_wal_size = 1GB
wal_keep_segments = 0
wal_segment_size = 16MB

Vladimir
26.07.2019
15:08:07
погодите. я сделал select * from pg_ls_waldir(); и там нашлось 275 объектов по 16 с чем-то там мб каждый. то есть, как раз 4.4gb.
ubuntu@OrangeBox84 ~ » sudo du -cksh /var/lib/postgresql
6.8G /var/lib/postgresql
6.8G total
6.8 минус 4.4 - как раз те самые 2.4gb, которые показывает psql \l+.

Dmitry
26.07.2019
15:08:16
кстати, перед тем, как менять будешь, попробуй в SQL сделать CHECKPOINT;

Zart
26.07.2019
15:08:23


Dmitry
26.07.2019
15:09:00

Vladimir
26.07.2019
15:09:23

Zart
26.07.2019
15:09:41
бабушка, а зачем тебе такой большой вал

Vladimir
26.07.2019
15:10:13

Zart
26.07.2019
15:10:13
так то оно для отката на указанное время, да для накатывания реплик в обычном случае

Dmitry
26.07.2019
15:10:40
ну если бы ты прислал тогда текст, а не скриншот, я бы хоть поскладывал :))

Vladimir
26.07.2019
15:10:45
Ну, вообще, в проде действительно мастер и два слейва с репликацией и вот этим всем. А у меня сингл-инстанс чисто потому что те же самые скрипты используются для демо-коробочки.

Dmitry
26.07.2019
15:11:15
а давай

Vladimir
26.07.2019
15:11:23
Публичный ключ в студию :)

Dmitry
26.07.2019
15:11:48
ну че ты с github не умеешь брать? :)

Vladimir
26.07.2019
15:12:02
А, ну так бы и сказал что с жыдхаба