(
select
encode((select substring(get_raw_page('t_test2', 'main', 0) from (lp_off + t_hoff + 1) for (lp_len - t_hoff))), 'hex') as user_data
from heap_page_items(get_raw_page('t_test2', 'main', 0)) as h limit 1
)
union all
(
select
encode((select substring(get_raw_page('t_test', 'main', 0) from (lp_off + t_hoff + 1) for (lp_len - t_hoff))), 'hex') as user_data
from heap_page_items(get_raw_page('t_test', 'main', 0)) as h limit 1
)
и мы получаем как физически выглядят данные в тупле t_test : 0a000000 14000000 1e000000 0b61626364 0b61626364 0b61626364
t_test2: 0b616263 64000000 0a000000 0b616263 64000000 14000000 0b616263 64000000 1e000000
в случае когда varchar'ы идут подряд не производится дополнительного выравнивания
1) Андрей подписан на блог Badoo (как и еще сотни человек), и я не выгуглил чтобы было явно написано что он работает на badoo (прежде чем задать вопрос я погуглил, но не долго :).
2) согласно вики badoo появилась в 2006-ом, а согласно about php-fpm разработка началась в 2004-ом
хорошо, вот еще особоизвращённый способ :) 200мс выполняется
WITH RECURSIVE t(inet, n) AS (
VALUES ('2a01:4f8:130:1065::2'::inet, 0)
UNION ALL
SELECT inet + pow(2,62)::bigint, n+1 FROM t WHERE n < pow(2,18)
)
SELECT inet, n FROM t order by n desc
limit 1;
EXECUTE 'SELECT count(*) FROM mytable WHERE inserted_by = $1 AND inserted <= $2'
INTO c
USING checked_user, checked_date;
куда лаконичнее чем все эти кавычки и конкатенации
на самом деле не 100 гб надо, а столько, сколько будет после сжатия :) pg_reorg еще может использоваться для выполнения команды cluster и для изменения порядка столбцов в таблице. DDL, на сколько я помню, выполнять не получится, т.к. pg_reorg ставит блокировку. а дисковую нагрузку можно лимитировать через ionice :)
отцы, а кто в курсе, есть ли какие-то проблемы с запуском на этом деле какого-нибудь linux'а акромя Chrome OS? если но проблем, то мне пожалста два заверните :)
PG Metricus — сбор метрик из plpgsql кода или как три строчки кода упростили жизнь
Уменьшение объема, занимаемого данными PostgreSQL на диске
и мы получаем как физически выглядят данные в тупле
t_test : 0a000000 14000000 1e000000 0b61626364 0b61626364 0b61626364
t_test2: 0b616263 64000000 0a000000 0b616263 64000000 14000000 0b616263 64000000 1e000000
в случае когда varchar'ы идут подряд не производится дополнительного выравнивания
Новый GUI для Postgresql
Новый GUI для Postgresql
Возможности PostgreSQL, которых нет в MySQL, и наоборот
PostgreSQL: Приемы на продакшене
11 марта состоится поединок в пинг-понг между машиной и человеком (Тимо Болль)
Как мы мигрировали миллионные страны за рабочий день
Как мы мигрировали миллионные страны за рабочий день
Как мы мигрировали миллионные страны за рабочий день
2) согласно вики badoo появилась в 2006-ом, а согласно about php-fpm разработка началась в 2004-ом
собственно поэтому вопрос и возник :)
Как мы мигрировали миллионные страны за рабочий день
Практика IPv6
Практика IPv6
Практика IPv6
select '2a01:4f8:130:1065::2'::inet + pow(2, 40)::bigint + pow(2, 40)::bigint
Практика IPv6
PostgreSQL User-defined operators
Боремся с дубликатами
EXECUTE 'SELECT count(*) FROM mytable WHERE inserted_by = $1 AND inserted <= $2' INTO c USING checked_user, checked_date;
куда лаконичнее чем все эти кавычки и конкатенации
Table bloat? Не, не слышал…
Table bloat? Не, не слышал…
Google представил Samsung Chromebook за 249 долларов
Google представил Samsung Chromebook за 249 долларов