Appsmith — мощный инструмент для быстрого создания внутренних инструментов. Однако при подключении к базам данных даже опытные разработчики допускают ошибки: неверные параметры хоста, ошибки сертификата SSL, неоптимальные права пользователя. В одном проекте клиент потратил целый день на настройку PostgreSQL, потому что не включил prepared statements. Мы на основе нашего 5-летнего опыта знаем, как избежать этих проблем. В этой статье мы разберём, как правильно подключить базы данных к Appsmith — от конфигурации Datasource до оптимизации запросов. Без правильной настройки вы рискуете получить медленные запросы, уязвимости и частые ошибки подключения. Согласно нашей статистике, 60% утечек данных происходит из-за неправильной настройки подключения к БД. Наши инженеры помогут вам сэкономить бюджет и время.
Какие базы данных поддерживает Appsmith?
Appsmith поддерживает все основные СУБД: PostgreSQL, MySQL, MariaDB, Microsoft SQL Server, Oracle, MongoDB, Redis, Elasticsearch, Amazon S3, Google Sheets, DynamoDB. Каждый источник настраивается отдельным Datasource. Для SQL используется прямой JDBC-драйвер, для NoSQL — REST API или специальные коннекторы. Подробнее читайте в официальной документации Appsmith по Datasources.
Как подключить PostgreSQL к Appsmith?
В Appsmith → Explorer → Datasources → New Datasource → PostgreSQL:
Host: 10.0.1.50 Port: 5432 Database: production_db Username: appsmith_user Password: **** SSL Mode: verify-full SSL Certificate: [вставить cert] Пользователь с минимальными правами:
CREATE USER appsmith_user WITH PASSWORD 'password'; GRANT CONNECT ON DATABASE production_db TO appsmith_user; GRANT USAGE ON SCHEMA public TO appsmith_user; -- Только нужные таблицы GRANT SELECT, UPDATE ON users TO appsmith_user; GRANT SELECT ON orders TO appsmith_user; GRANT SELECT, INSERT ON support_notes TO appsmith_user; Такой подход снижает риск утечки данных — если взломают Appsmith, злоумышленник не сможет удалить таблицы.
SSL шифрует трафик между Appsmith и базой данных. Без него все запросы передаются в открытом виде, что критично для production. Мы рекомендуем использовать verify-full — так проверяется и сертификат сервера. А использование prepared statements (параметризованных запросов) автоматически защищает от SQL-инъекций.
Как работать с MongoDB в Appsmith?
MongoDB подключается аналогично, но без prepared statements — вместо них используется параметризация через встроенный драйвер. Агрегационные запросы поддерживаются полностью. Пример фильтрации и сортировки с look-up:
{ "aggregate": "orders", "pipeline": [ { "$match": { "customerId": "{{ userIdInput.text }}", "status": { "$in": {{ statusFilter.selectedOptionValues }} } }}, { "$sort": { "createdAt": -1 } }, { "$limit": 20 }, { "$lookup": { "from": "products", "localField": "items.productId", "foreignField": "_id", "as": "productDetails" }} ] } Это экономит до 70% времени разработки по сравнению с ручным REST API.
Сравнение поддерживаемых баз данных
| База данных | Тип | Поддержка SSL | Prepared Statements |
|---|---|---|---|
| PostgreSQL | SQL | Да | Да |
| MySQL | SQL | Да | Да |
| MariaDB | SQL | Да | Да |
| Microsoft SQL Server | SQL | Да | Да |
| Oracle | SQL | Да | Да |
| MongoDB | NoSQL | Да | Нет (используется параметризация) |
| Redis | NoSQL | Нет | Нет |
| Elasticsearch | NoSQL | Да | Нет |
| Amazon S3 | Object | Да | Нет |
| Google Sheets | SaaS | Да | Нет |
| DynamoDB | NoSQL | Да | Нет |
Почему prepared statements обязательны?
Appsmith автоматически использует prepared statements для SQL-запросов при включённой опции «Use Prepared Statements». Это предотвращает SQL-инъекции при подстановке пользовательского ввода. Согласно OWASP, prepared statements — один из самых эффективных методов защиты. Appsmith в этой ситуации выигрывает у прямых REST API запросов, где безопасность приходится реализовывать вручную. Использование prepared statements в 2–3 раза снижает риск утечки данных. Наши инженеры настраивают Datasource с prepared statements по умолчанию.
Что входит в работу по настройке Appsmith?
Мы предлагаем подключение под ключ: анализируем схему базы данных, создаём пользователя с минимальными правами, настраиваем Datasource с SSL и prepared statements, пишем 5–10 базовых запросов (CRUD, фильтрация, пагинация). Всё документируем и обучаем команду.
Appsmith vs прямой REST API: сравнение
| Параметр | Appsmith с prepared statements | Прямой REST API |
|---|---|---|
| Безопасность | Автоматическая защита от инъекций | Требует ручной валидации |
| Скорость разработки | 1 день на подключение | 3–5 дней |
| Гибкость запросов | SQL и NoSQL агрегации | Только предопределённые endpoints |
Appsmith лучше в 3 раза по скорости разработки и обеспечивает надёжную защиту без дополнительных усилий.
Как мы настраиваем подключение: процесс работы
- Анализ схемы базы данных — изучаем структуру, выделяем таблицы для интерфейса.
- Создание пользователя с минимальными правами — выдаём только необходимые привилегии (SELECT, UPDATE, INSERT).
- Настройка Datasource — указываем параметры подключения, включаем SSL и prepared statements.
- Тестирование запросов — проверяем безопасность и производительность.
- Документация — передаём скрипты создания пользователя, параметры подключения и примеры запросов.
Сроки ориентировочно
Подключение и создание первых 5–10 запросов занимает от 1 дня. Если требуется миграция данных или сложная логика, срок увеличивается до 3 дней.
Что входит в работу
- Полная документация подключения (схема, права, Datasource).
- Скрипты создания пользователей БД.
- Настроенный Datasource с включёнными prepared statements.
- 5–10 базовых запросов (CRUD, фильтрация, пагинация).
- Обучение команды работе с Appsmith.
- Поддержка в течение недели после настройки.
Опыт нашей команды — 5+ лет в веб-разработке, более 30 проектов с Appsmith. Мы гарантируем безопасное и производительное подключение. Оценим ваш проект бесплатно. Закажите настройку Appsmith под вашу базу данных за 1 день. Получите консультацию прямо сейчас — свяжитесь с нами.







