Налаштування Appsmith для роботи з базами даних
Appsmith підключається безпосередньо до реляційних та NoSQL баз даних. Для кожного джерела даних налаштовується окремий Datasource з параметрами підключення.
Підтримувані бази даних
PostgreSQL, MySQL, MariaDB, Microsoft SQL Server, Oracle, MongoDB, Redis, Elasticsearch, Amazon S3, Google Sheets, DynamoDB.
PostgreSQL
У 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
SELECT
id, email, name, status, plan,
created_at, last_login_at
FROM users
WHERE
({{ searchInput.text }} = '' OR
email ILIKE '%' || {{ searchInput.text }} || '%' OR
name ILIKE '%' || {{ searchInput.text }} || '%')
AND ({{ statusFilter.selectedOptionValue }} = 'ALL' OR
status = {{ statusFilter.selectedOptionValue }})
ORDER BY created_at DESC
LIMIT 50 OFFSET {{ (pageSelector.pageNo - 1) * 50 }}
MongoDB
// Appsmith MongoDB Query
{
"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"
}}
]
}
Prepared Statements
Appsmith автоматично використовує prepared statements для SQL-запитів коли включена опція "Use Prepared Statements". Це запобігає SQL-ін'єкціям при підстановці вводу користувача.
Терміни
Підключення та перших 5–10 запитів — 1 день.







