| Разбор задач викторины Postgres Pro на PGDay'17

          Хорошей традицией на постгресовых конференциях стало устраивать викторины с розыгрышем билетов на следующие конференции. Наша компания Postgres Professional на недавнем PgDay’17 разыгрывала билеты на PgConf.Russia 2018, которая пройдет в феврале 2018 года в Москве. В статье, опубликованной в нашем блоге на портале www.habrahabr.ru, представлен обещанный разбор вопросов викторины.

          Участникам конференции были предложены следующие вопросы:

  1. При выполнении на базе read-only запросов была обнаружена запись на диск.
    Кто (что) виноват?
    Варианты ответа:
    WAL, Hint bits, Vacuum, Russian Hackers, Еноты.
  2. Сколько записей будет добавлено в pg_class командой: CREATE TABLE t (id serial primary key, code text unique);
  3. Есть две таблицы: CREATE TABLE t1(x int, y int);
    CREATE TABLE t2(x int not null, y int not null);
    В обе добавили 1 млн записей.
    Какая таблица займет больше места на диске и почему?
    Варианты ответа были такими:
    Первая, вторая, займут поровну, первая займет меньше или столько же, сколько вторая, зависит от версии PostgreSQL.
  4. Есть таблица: CREATE TABLE test(i1 int, b1 bigint, i2 int); Можно ли переписать определение так, чтобы ее записи занимали меньше места на диске и если да, то как? Предложите Ваш вариант.
  5. Какой тип занимает больше места на диске: timetz или timestamptz?
  6. Как можно проверить консистентность БД для того, чтобы убедиться, что часть данных в БД не потеряна?
  7. Какое из условий ниже истинно и почему? (10,20)>(20,10)
    array[20,20]>array[20,10]
  8. Действие каких подсистем выключает настройка track_counts = off?
    Варианты ответа:
    Statistics Collector, Checkpointer, WAL archiving, Autovacuum, Bgwriter, Ни одна из перечисленных.
  9. Каков будет результат запроса select NULL IS NULL IS NULL?
  10. С какими типами индексов не работает команда CLUSTER [VERBOSE] table_name [ USING index_name ] и почему?
  11. Пусть настроена синхронная репликация и на мастере synchronous_commit = on При каком значении этой же опции на реплике задержка при выполнении COMMIT на мастере будет меньше, и почему?
  12. Что даст запрос: select #array[1,2,3] - #array[2,3]
  13. Сколько записей будет добавлено в pg_class командой: CREATE TABLE t (id serial primary key, code text unique);
  14. Что использовалось при составлении данного теста: UNION или UNION ALL?

Решение всех этих задач вы можете изучить в нашей новой статье на www.habrahabr.ru:

Разбор задач викторины Postgres Pro на PGDay'17

Благодарности

В составлении викторины участвовали:

  • Алексей Шишкин,
  • Алексей Игнатов,
  • Арсений Шер,
  • Анастасия Лубенникова,
  • Александр Алексеев,
  • Иван Панченко,
  • Иван Фролков.

За 12-й вопрос мы благодарны Николаю Шуляковскому из mail.ru.

Победители викторины получили промокоды, которые они могут ввести вместо оплаты участия в PgConf.Russia 2018