Новое:Talanto осенью: поиск с цифрами, вакансия по шагам и каталог компаний

+1 210новых вакансий за сутки·93 612вакансий открыто сейчас·Новое:Talanto осенью: поиск с цифрами, вакансия по шагам и каталог компаний

Новые вакансии в TelegramРаботодателям
Talanto
Вакансии
Компании7 266
РезюмеAIПодготовкаСтатьи
BoostТарифыBoost
Войти

Не нашли подходящее?

Пусть нужная вакансия найдёт вас сама.

  1. Подборка в TelegramНовые вакансии по вашему фильтру — сразу в бота.Подключить
  2. Мэтчи по резюмеЗагрузите резюме — покажем, где вы подходите лучше всего.Загрузить
  3. Сохранить фильтрНастройте поиск один раз и возвращайтесь к новым вакансиям.Настроить
Что нового на TalantoTalanto осенью: поиск с цифрами, вакансия по шагам и каталог компаний

Для работодателей

Опубликуйте вакансию — отклики придут в ваш кабинет.

  1. Вакансиябесплатно
  2. Откликиконтакты бесплатно
  3. Наймэтапы и интервью

40 компаний публикуют вакансии напрямую · 4 401 кандидат открыт к предложениям

Разместить вакансию

Популярные направления

Все подборки
  • Python17 126
  • Облачные технологии14 083
  • QA вакансии3 456
  • Backend вакансии2 116
  • Инженер данных1 809
  • Продакт-менеджер1 261

Разработка

  • Android1 862
  • iOS1 700
  • Fullstack вакансии990
  • AI вакансии951
  • Frontend вакансии749
  • Mobile вакансии44

По стеку

  • Go8 688
  • Java6 537
  • Node.js2 026
  • .NET1 722
  • Kotlin1 611
  • Rust1 458
  • C#710
  • PHP682
  • C++571

DevOps и инфраструктура

  • Kubernetes7 772
  • DevOps вакансии6 054
  • Linux-инфраструктура5 493
  • Terraform / IaC4 275
  • CI/CD3 239
  • Мониторинг и Observability1 790
  • SRE568
  • Кибербезопасность458

Аналитика и данные

  • Data Scientist1 143
  • Бизнес-аналитик923
  • Аналитик данных857
  • Системный аналитик152

Другие направления

  • Проджект-менеджер620
  • UI/UX дизайн147
  • Ручное тестирование14

По регионам

  • Вакансии в США44 437
  • Вакансии в Европе23 855
  • Вакансии в Канаде4 483
  • Работа в России3 904

По формату

  • Удалённые вакансии75 212
  • Релокация в США44 436
  • Гибридная работа12 388
  • Офисная работа7 083

По уровню

  • Senior вакансии42 625
  • Middle вакансии20 854
  • Junior вакансии6 721

Сейчас нанимают

Все компании
  • Wise190 вакансий
  • Rakuten189 вакансий
  • ASML166 вакансий
  • Grab137 вакансий
  • Celonis39 вакансий
  • Spotify37 вакансий
  • Adyen28 вакансий
  • Infobip28 вакансий
  • Monzo20 вакансий
  • Darktrace16 вакансий

Вакансии из 344 источников: карьерные страницы компаний и джоб-борды.

КомпанииО насНовостиПубличная офертаУсловия использованияПолитика конфиденциальностиПоддержка
←К теме PostgreSQLВсе вопросы
PostgreSQLSeniorПроектирование систем

Что такое PITR (point-in-time recovery)? Как её настроить? Что такое base backup + WAL archive?

В закладки
Сначала попробуйте ответить сами30 секунд
Сравнить с ответом ↓

PITR восстанавливает кластер на произвольный момент: берут base backup (pg_basebackup или pgBackRest), непрерывно архивируют WAL (archive_command → S3), при восстановлении задают recovery_target_time и replay-ят архив через restore_command.

Настройка шаг за шагом

1. postgresql.conf — включить архивирование:

# postgresql.conf
archive_mode = on
archive_command = 'aws s3 cp %p s3://my-bucket/wal/%f'
# Или через pgBackRest:
# archive_command = 'pgbackrest --stanza=main archive-push %p'
wal_level = replica   # минимум для архива

2. Снять base backup:

# Встроенный pg_basebackup
pg_basebackup -h localhost -U replicator -D /backup/base \
    -Ft -Xs -P --gzip

# Или pgBackRest (рекомендуется для production):
pgbackrest --stanza=main backup --type=full

3. Восстановление на конкретный момент:

# Остановить кластер, очистить PGDATA, восстановить base backup
rm -rf /var/lib/postgresql/17/main/*
tar xzf /backup/base/base.tar.gz -C /var/lib/postgresql/17/main/

# Создать recovery signal
touch /var/lib/postgresql/17/main/recovery.signal
# postgresql.conf или postgresql.auto.conf:
restore_command = 'aws s3 cp s3://my-bucket/wal/%f %p'
recovery_target_time = '2026-05-18 14:30:00+00'
recovery_target_action = 'promote'   # promote | pause | shutdown

4. Запустить PostgreSQL — он сам replay-ит WAL и откроется.

Что такое PITR

Point-in-time recovery (PITR) — механизм восстановления кластера PostgreSQL на произвольный момент времени в прошлом. Основан на двух компонентах: base backup (физический снимок кластера) и WAL archive (непрерывная цепочка журнальных сегментов от момента backup до целевого времени).

Как работает

  1. Делается base backup — согласованный снимок всего $PGDATA.
  2. WAL-сегменты непрерывно архивируются (в S3, GCS, на NFS) с момента backup и далее.
  3. При восстановлении PostgreSQL стартует из base backup, затем replay-ит WAL-сегменты до указанного recovery_target_time, LSN, имени restore point или transaction id.
  4. После достижения цели кластер открывается как новая timeline.

Мониторинг архива

-- Последний успешно заархивированный WAL:
SELECT last_archived_wal, last_archived_time,
       last_failed_wal, last_failed_time,
       archived_count, failed_count
FROM pg_stat_archiver;

Подводные камни

  • Разрыв в WAL archive (потерянный или повреждённый сегмент) останавливает PITR раньше цели — обнаруживают только при restore drill, не в момент аварии.
  • Слишком короткий retention WAL-сегментов делает старый base backup бесполезным: цепочка обрывается до момента backup.
  • archive_command должен возвращать 0 только при успешной копии; любой non-zero вызывает повтор и задержку переключения WAL — нужен алерт на last_failed_wal.
  • Восстановление на старую timeline без остановки downstream-систем (очереди, реплики) порождает рассинхронизацию и дублирование событий.
  • base backup + весь WAL от момента backup до recovery_target может занимать сотни GB — нужно планировать пропускную способность сети и место на restore-хосте.
  • Без регулярных автоматических restore drill (ежемесячно) нельзя быть уверенным в рабочести PITR — наличие файлов не равно восстанавливаемости.
  • recovery_target_action = 'pause' позволяет проверить данные перед promote, но кластер остаётся read-only; при ошибке нужен restart с другим target.

Частые вопросы на собеседовании

  • Что делает VACUUM, VACUUM FULL, ANALYZE? Чем они отличаются и какой когда применять?
  • Какие уровни изоляции есть и чем отличаются (READ COMMITTED, REPEATABLE READ, SERIALIZABLE)? Какой по умолчанию в Postgres?
  • Что такое PITR и чем pg_dump отличается от base backup + WAL archive?
  • Каковы типы индексов в PostgreSQL (B-tree, Hash, GIN, GiST, BRIN)?

Типичные ошибки

  • Хранить base backup без WAL archive.
  • Не проверять restore.
  • Путать logical dump с PITR.

Что проверяет интервьюер

  • Просит объяснить цепочку base backup + WAL.
  • Проверяет RPO/RTO.
  • Уточняет recovery target и timeline.

Как вы знаете этот вопрос?

Проверить себя по теме PostgreSQL →

Источники

  • https://www.postgresql.org/docs/current/continuous-archiving.html
  • https://www.postgresql.org/docs/current/app-pgbasebackup.html

Связанные темы

PostgreSQLdatabase-operationsdisaster-recovery

Вакансии с этим навыком

PostgreSQL вакансии
  • Senior Software Engineer - Java/React
  • Principal Software Engineer
  • Software Engineer II (Backend)
  • Engineering Manager, Bots & Fraud
  • Fullstack-разработчик (Middle+ / Senior)