Перейти к главному контенту

Amazon RDS для PostgreSQL

Вопросы и ответы об Amazon RDS для PostgreSQL

Вопросы и ответы об Amazon RDS для PostgreSQL

Открыть все

Amazon RDS для PostgreSQL в настоящее время поддерживает PostgreSQL 13, 14, 15, 16 и 17. RDS для PostgreSQL также поддерживает PostgreSQL 11 и 12 в рамках расширенной поддержки Amazon RDS. Подробнее см. в руководстве пользователя Amazon RDS.

Список доступных расширений см. в Руководстве пользователя Amazon RDS. Вы можете запросить поддержку дополнительных расширений. Для этого отправьте письмо по адресу rds-postgres-extensions-request@amazon.com, указав название расширения и способ предполагаемого использования.

RDS для PostgreSQL поддерживает несколько параметров для регистрации активности на вашем инстансе БД PostgreSQL. Подробнее о них можно узнать в Руководстве пользователя Amazon RDS для получения дополнительной информации.

Да, вы можете прочитать об ограничениях RDS для инстансов PostgreSQL в руководстве пользователя Amazon RDS.

В рамках RDS для PostgreSQL нумерация версий организована таким образом: версия PostgreSQL = X.Y-R(n).

В Amazon RDS изменение версии считается основным, если изменилась первая часть номера версии. Пример: переход от версии 15.9 к версии 17.1.

Изменение версии считается второстепенным, если изменилась вторая часть номера версии в рамках одного релиза. Пример: переход от версии 17.1 к версии 17.2.

R(n) означает следующий за ним выпуск второстепенной версии, которая может содержать новые функции, улучшения производительности и исправления ошибок. Второстепенная версия может иметь или не иметь выпуск R(n). Пример: переход от 17.1 к 17.1-R2 или 17.1-R3.

Дополнительные сведения см. в Политике управления версиями PostgreSQL.

Да. Рекомендации по управлению версиями см. в разделе часто задаваемых вопросов по Amazon RDS.

Надежные языковые расширения для PostgreSQL

Открыть все

Trusted Language Extensions (TLE) для PostgreSQL позволяют разработчикам создавать высокопроизводительные расширения и безопасно запускать их в Amazon RDS. В результате TLE сокращает время выхода продукта на рынок и освобождает администраторов баз данных от бремени сертификации пользовательского и стороннего кода для использования в рабочих нагрузках баз данных рабочей среды. Вы можете двигаться дальше, как только решите, что расширение отвечает вашим требованиям. С помощью TLE независимые поставщики программного обеспечения (ISV) могут предоставлять клиентам, работающим на Amazon RDS, новые расширения PostgreSQL.

Расширения PostgreSQL выполняются в одном и том же пространстве процесса для обеспечения высокой производительности. Однако расширения могут содержать дефекты программного обеспечения, которые способны вызвать сбой базы данных. 

TLE для PostgreSQL предоставляет несколько уровней защиты для уменьшения этого риска. TLE ограничивает доступ к системным ресурсам. Роль rds_superuser определяет, кому разрешено устанавливать определенные расширения. Однако эти изменения можно вносить с помощью TLE API. TLE ограничивает влияние дефекта расширения отдельным подключением к базе данных. В дополнение к этим мерам безопасности TLE призван предоставить администраторам баз данных в роли rds_superuser детальный онлайн-контроль над тем, кто может устанавливать расширения, и создавать модель разрешений для их запуска.

Только пользователи с достаточными привилегиями могут запускать и создавать с помощью команды CREATE EXTENSION расширения TLE. Также администраторы баз данных могут создать список разрешенных «привязок PostgreSQL», необходимых для более сложных расширений, которые изменяют внутреннее поведение базы данных и обычно требуют повышенных привилегий.

TLE доступен для Amazon RDS на PostgreSQL в версиях 14.5 и выше. Он реализован как расширение PostgreSQL и активируется из роли rds_superuser, как и другие поддерживаемые расширения.

TLE можно запустить в PostgreSQL 14.5 или более поздней версии в Amazon RDS.

Решения TLE доступны для клиентов Amazon RDS без дополнительной платы.

Aurora и Amazon RDS поддерживают тщательно подобранный набор из более чем 85 расширений PostgreSQL. AWS управляет рисками безопасности каждого из этих расширений в рамках модели совместной ответственности AWS. Расширение, которое реализует TLE для PostgreSQL, включено в этот набор. Расширения, которые вы пишете или получаете из сторонних источников и устанавливаете в TLE, считаются частью кода вашего приложения. Вы отвечаете за безопасность своих приложений, в которых используются расширения TLE.

Вы можете создавать функции для разработчиков, такие как функции сжатия растровых изображений и дифференциальной приватности (например, общедоступные статистические запросы, которые защищают конфиденциальность физических лиц).

 В настоящее время TLE поддерживает создание расширений в JavaScript, Perl, Tcl, PL/pgSQL и SQL. 

Когда роль rds_superuser активирует TLE для PostgreSQL, вы можете развертывать расширения TLE с помощью команды SQL CREATE EXTENSION из любого клиента PostgreSQL, например psql. Это похоже на то, как создаются пользовательские функции, написанные на процедурном языке, таком как PL/pgSQL или PL/Perl. Вы можете управлять разрешениями пользователей на развертывание расширений TLE и использование определенных расширений.

TLE для PostgreSQL получает доступ к вашей базе данных PostgreSQL исключительно через TLE API. Доверенные языки, поддерживаемые TLE, содержат все функции интерфейса программирования сервера (SPI) PostgreSQL и поддерживают привязки PostgreSQL, в том числе привязку проверки пароля.

Подробнее о проекте TLE для PostgreSQL можно узнать на официальной странице TLE GitHub.

Развертывания Amazon RDS без перерыва в обслуживании

Открыть все

В RDS для PostgreSQL сине-зеленые развертывания поддерживаются для версии 11.1 и всех более поздних основных и второстепенных версий. Дополнительные сведения см. в разделе Поддерживаемые регионы и движки БД для развертываний Amazon RDS Blue/Green

Развертывания Amazon RDS без перерыва в обслуживании позволяют обновлять базу данных безопаснее, проще и быстрее. Развертывания без перерыва в обслуживании – это идеальное решение для обновления ядра базы данных основных или второстепенных версий, обновления операционной системы, изменения схемы в средах с новой версией приложения без прерывания логической репликации, например для добавления нового столбца в конец таблицы или изменения параметров базы данных.

Развертывания без перерыва в обслуживании применимы к параллельному обновлению нескольких баз данных посредством одного переключения. Таким образом, можно отслеживать обновления безопасности, повышать производительность базы данных и получать доступ к новым функциям базы данных за короткое прогнозируемое время простоя.

Развертывание Amazon RDS без перерыва в обслуживании дает вам возможность безопаснее, проще и быстрее вносить в базу данных такие изменения, как обновление основных или второстепенных версий, изменение схемы, масштабирование инстансов, изменение параметров движка и обновление в ходе обслуживания.

При развертываниях Amazon RDS без перерыва в обслуживании среда с текущей версией приложения является текущей рабочей средой. Среда с новой версией приложения – это промежуточная среда, которая станет новой рабочей средой после переключения.

Когда развертывания Amazon RDS без перерыва в обслуживании инициируют переключение, они блокируют запись как в среду с новой версией приложения, так и в среду с текущей его версией до завершения переключения. Во время переключения промежуточная среда или среда с новой версией приложения синхронизирует рабочую систему, гарантируя единство данных в промежуточной и рабочей средах.

После полной синхронизации производственной и промежуточной сред развертывание без перерыва в обслуживании делает промежуточную среду производственной средой, перенаправляя трафик в новую распространенную производственную среду. Развертывания без перерыва в обслуживании обеспечивают запись в среду с новой версией приложения после завершения переключения, что гарантирует нулевую потерю данных во время переключения.

Если среда с текущей версией приложения представляет собой самоуправляемую логическую реплику или подписчика, переключение будет заблокировано. Сначала рекомендуется завершить репликацию в среде с текущей версией приложения, перейти к переключению, а затем возобновить репликацию. Напротив, если среда с текущей версией приложения является источником самоуправляемой логической реплики или издателя, переключение можно продолжить. Однако после переключения потребуется обновить самоуправляемую реплику для репликации из среды с новой версией приложения после переключения.

Развертывания Amazon RDS без перерыва в обслуживании не удаляют предыдущую рабочую среду. При необходимости вы можете обращаться к ней для проведения дополнительной проверки, тестирования производительности и регрессионного тестирования. Если вам больше не нужна предыдущая рабочая среда, то вы можете ее удалить. До тех пор, пока прежние рабочие инстансы не удалены, за них взимается стандартная плата.

Ограничения переключения при развертываниях Amazon RDS без перерыва в обслуживании блокируют операции записи в среду с текущей и в среду с новой версией приложения, пока последняя не синхронизируется полностью. Кроме того, развертывания без перерыва в обслуживании обеспечивают проверку работоспособности основного хранилища и реплик в среде с текущей версией и среде с новой версией приложения. Кроме того, оно проводит проверки работоспособности репликации, например, чтобы проверить, не остановлена ли репликация или не произошли ли ошибки.

Они выявляют долгие транзакции между средой с текущей версией и средой с новой версией приложения. Вы можете указать максимально приемлемое время простоя с минимальным значением 30 секунд, и если продолжительность текущей транзакции превышает указанное время, переключение блокируется по истечении времени.

Нет. Развертывания Amazon RDS без перерыва в обслуживании не поддерживают прокси-сервер Amazon RDS, реплики чтения между регионами и каскадные реплики чтения.

Нет. В настоящее время использование развертываний Amazon RDS без перерыва в обслуживании для отката изменений невозможно.

DevOps Guru для RDS

Открыть все

Amazon DevOps Guru для RDS представляет собой новую возможность для Amazon RDS для PostgreSQL (в том числе Amazon Aurora) на основе машинного обучения, которая позволяет автоматически выявлять и диагностировать проблемы в сфере производительности и эксплуатации баз данных, что сокращает время устранения таких проблем с нескольких дней до нескольких минут.

Amazon DevOps Guru для RDS реализован как дополнительная возможность Amazon DevOps Guru и предназначен для обнаружения проблем с производительностью и эксплуатацией для всех типов платформы Amazon RDS и десятков других типов ресурсов. DevOps Guru для RDS расширяет возможности DevOps Guru, позволяя обнаруживать, диагностировать и исправлять широкий набор проблем с базами данных в Amazon RDS для PostgreSQL (например, чрезмерное потребление ресурсов или плохое поведение отдельных запросов SQL).

При возникновении проблем Amazon DevOps Guru для RDS должен немедленно известить о ней разработчиков и инженеров DevOps с предоставлением диагностической информации, сведений о масштабе проблемы и интеллектуальных рекомендаций по решению, которые помогут клиентам быстро устранить операционные проблемы и узкие места производительности, связанные с базами данных.

Amazon DevOps Guru для RDS призван избавить вас от ручного труда и сократить (с нескольких часов и дней до нескольких минут) время, необходимое на обнаружение и устранение нетривиальных проблем с производительностью в рабочих нагрузках реляционных баз данных.

Вы можете включить DevOps Guru для RDS для любой базы данных Amazon RDS для PostgreSQL, чтобы этот сервис автоматически обнаруживал проблемы с производительностью в рабочих нагрузках, отправлял оповещения о каждой такой проблеме, описывал обнаруженные результаты и предлагал рекомендации по решению.

DevOps Guru для RDS помогает выполнять администрирование баз данных даже тем, кто имеет мало опыта работы с базами данных, а настоящим профессионалам позволяет взять на себя обслуживание еще большего числа баз данных.

Сервис Amazon DevOps Guru для RDS использует машинное обучение для анализа данных телеметрии, собранных посредством аналитики производительности Amazon RDS. DevOps Guru для RDS не использует для своего анализа никакие данные, сохраненные в самой базе данных. Сервис DevOps Guru для RDS выполняет поиск проблемных моделей в телеметрии аналитики производительности, используя комбинацию правил и методов машинного обучения, и предупреждает клиентов о выявлении таких моделей.

Чтобы начать работу с DevOps Guru для RDS, сначала необходимо запустить аналитику производительности на консоли Amazon RDS, а затем – DevOps Guru в настройках баз данных Amazon RDS для PostgreSQL. Сервис DevOps Guru позволяет выбрать для анализа весь аккаунт AWS, назначить определенные стеки AWS CloudFormation для анализа в DevOps Guru или с помощью тегов AWS настроить группирование ресурсов для анализа в DevOps Guru.

Сервис Amazon DevOps Guru для RDS позволяет выявлять широкий спектр проблем в сфере производительности, которые могут снижать качество предоставления сервиса для приложения, в том числе скопления блокировок, лавинные подключения, регрессии SQL, конфликты процессора и ввода/вывода, проблемы с использованием памяти и неправильно настроенные параметры.

Аналитика производительности Amazon RDS представляет собой средство для настройки и мониторинга производительности баз данных, которое собирает и визуализирует метрики производительности базы данных Amazon RDS, помогая быстро оценивать состояние базы данных и выбирать надлежащие меры для улучшения ситуации. Amazon DevOps Guru для RDS предназначен для мониторинга тех же метрик и автоматически обнаруживает проблемы с производительностью базы данных, анализирует метрики и сообщает вам, что пошло не так и как это исправить.