Разбор задач викторины Postgres Pro на PGDay'17
Хорошей традицией на постгресовых конференциях стало устраивать викторины с розыгрышем билетов на следующие конференции. Наша компания Postgres Professional на недавнем PgDay’17 разыгрывала билеты на PgConf.Russia 2018, которая пройдет в феврале 2018 года в Москве. В статье, опубликованной в нашем блоге на портале www.habrahabr.ru, представлен обещанный разбор вопросов викторины.
Участникам конференции были предложены следующие вопросы:
- При выполнении на базе read-only запросов была обнаружена запись на диск.
Кто (что) виноват?
Варианты ответа:
WAL, Hint bits, Vacuum, Russian Hackers, Еноты. - Сколько записей будет добавлено в pg_class командой:
CREATE TABLE t (id serial primary key, code text unique);
- Есть две таблицы:
CREATE TABLE t1(x int, y int);
В обе добавили 1 млн записей.
CREATE TABLE t2(x int not null, y int not null);
Какая таблица займет больше места на диске и почему?
Варианты ответа были такими:
Первая, вторая, займут поровну, первая займет меньше или столько же, сколько вторая, зависит от версии PostgreSQL. - Есть таблица:
CREATE TABLE test(i1 int, b1 bigint, i2 int);
Можно ли переписать определение так, чтобы ее записи занимали меньше места на диске и если да, то как? Предложите Ваш вариант. - Какой тип занимает больше места на диске: timetz или timestamptz?
- Как можно проверить консистентность БД для того, чтобы убедиться, что часть данных в БД не потеряна?
- Какое из условий ниже истинно и почему?
(10,20)>(20,10)
array[20,20]>array[20,10] - Действие каких подсистем выключает настройка
track_counts = off
?
Варианты ответа:
Statistics Collector, Checkpointer, WAL archiving, Autovacuum, Bgwriter, Ни одна из перечисленных. - Каков будет результат запроса
select NULL IS NULL IS NULL
? - С какими типами индексов не работает команда
CLUSTER [VERBOSE] table_name [ USING index_name ]
и почему? - Пусть настроена синхронная репликация и на мастере
synchronous_commit = on
При каком значении этой же опции на реплике задержка при выполнении COMMIT на мастере будет меньше, и почему? - Что даст запрос:
select #array[1,2,3] - #array[2,3]
- Сколько записей будет добавлено в pg_class командой:
CREATE TABLE t (id serial primary key, code text unique);
- Что использовалось при составлении данного теста: UNION или UNION ALL?
Решение всех этих задач вы можете изучить в нашей новой статье на www.habrahabr.ru:
Разбор задач викторины Postgres Pro на PGDay'17
Благодарности
В составлении викторины участвовали:
- Алексей Шишкин,
- Алексей Игнатов,
- Арсений Шер,
- Анастасия Лубенникова,
- Александр Алексеев,
- Иван Панченко,
- Иван Фролков.
За 12-й вопрос мы благодарны Николаю Шуляковскому из mail.ru.
Победители викторины получили промокоды, которые они могут ввести вместо оплаты участия в PgConf.Russia 2018