AI-агент може безпечно працювати з базою PostgreSQL, якщо права забезпечує сама база, а не парсер на боці застосунку: роль лише з правом SELECT для читання, окрема роль для запису без можливості захопити роль власника, доступ, що вмикається окремо для кожної бази. В Aderlo Cloud кожна база PostgreSQL 18 має перемикач доступу агента (немає / читання / повний, за замовчуванням — немає), з’єднання лише через TLS з адрес із вашого списку та розширення pgvector, PostGIS і pg_cron.
Чому агентові недостатньо пароля до бази
Найпростіше рішення — дати агентові connection string власника бази — означає, що агент може все: видалити таблицю, змінити пароль, стерти дані. Налаштування «лише читання» на рівні сесії нічого не захищає, бо в PostgreSQL сесія знімає його однією командою SET transaction_read_only = off. Межею безпеки є лише права ролі.
Як це вирішує Aderlo Cloud
| Рівень доступу агента | Що агент може | Чого не може |
|---|---|---|
| немає (за замовчуванням) | Не бачить бази | — |
| читання | SELECT для таблиць і представлень, зокрема створених пізніше | Записати будь-що, навіть після зняття режиму «лише читання» в сесії |
| повний | Запис, створення й зміна таблиць | Захопити роль власника, змінити паролі, створити бази, читати файли сервера |
- Агент бачить лише бази тієї послуги, для якої видано токен — токен, переданий людині, що працює з одним сайтом, не відкриває решти.
- У журналі викликів записується назва бази, але ніколи — текст SQL чи дані.
- Інструменти MCP:
list_database_access,db_schema,db_query— однакові для MySQL і PostgreSQL.
Що ще має база PostgreSQL в Aderlo Cloud
- PostgreSQL 18 у власному контейнері для кожного екземпляра, з окремими лімітами пам’яті, процесора й диска.
- Розширення одразу: pgvector, PostGIS, pg_cron, pg_net, pg_stat_statements, а також довірені з contrib (pg_trgm, pgcrypto, uuid-ossp, citext, hstore). Нові бази успадковують pgvector і PostGIS.
- Вебхуки з бази: зміна в таблиці може викликати HTTP-адресу, наприклад процес n8n.
- Лише TLS (перевірено
verify-full, TLS 1.3) і лише з адрес, які ви дозволите, — до 5 адрес на екземпляр. - PgBouncer у транзакційному режимі для serverless-застосунків; окрема пряма адреса для міграцій.
- Копії: дамп кожної бази й ролей, який відновлюється на чистий сервер разом із розширеннями, завданнями pg_cron і доступом агентів.
- Готові рецепти підключення в панелі: Prisma, Drizzle, node-postgres, psql, DBeaver, n8n.
Коли давати агентові читання, а коли повний доступ
- Читання: аналітика, звіти, відповіді на запитання про дані, перевірка якості даних. Це добрий вибір за замовчуванням для продакшн-баз.
- Повний: агент будує власну схему (наприклад, таблицю з векторами для пошуку), міграції в допоміжній базі, прибирання в межах доручених вами робіт.
- Немає: бази з персональними даними клієнтів, до яких агентові немає причини зазирати.
Часті запитання
- Чи може AI-агент видалити мою базу PostgreSQL?
- На рівні «читання» агент нічого не може змінити. На рівні «повний» він може змінювати й видаляти таблиці в базі, але не захопить роль власника, не змінить паролі й не створить нових баз — тому повний доступ давайте до допоміжних баз, а перед більшою роботою агента робіть копію.
- Чи можна під’єднати базу з Vercel?
- Так, через TLS з адрес, дозволених у списку. Vercel без статичних IP-адрес змінює вихідні адреси, тож тоді доведеться оновлювати список або скористатися платною статичною IP-адресою на боці Vercel.