Встречается на собеседованиях • сегодня

О чем важно помнить, когда реализуешь связь между FastAPI и PostgreSQL

При реализации связи между FastAPI и PostgreSQL важно учитывать несколько ключевых моментов:

  1. Асинхронность – используйте asyncpg или SQLAlchemy с async режимом для эффективной работы с асинхронным FastAPI.

  2. Подключение к БД – настройте пул соединений (asyncpg.create_pool или SQLAlchemy async_engine), чтобы избежать перегрузки БД.

  3. ORM/Query Builder – SQLAlchemy Core/ORM или databases (для упрощения) помогут в безопасном построении запросов.

  1. Миграции – Alembic для управления изменениями схемы БД.

  2. Обработка ошибок – ловите специфичные исключения (например, asyncpg.exceptions.PostgresError).

python
from fastapi import FastAPI
from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession

app = FastAPI()
DATABASE_URL = "postgresql+asyncpg://user:pass@localhost/db"
engine = create_async_engine(DATABASE_URL, echo=True)

@app.get("/items")
async def read_items():
    async with AsyncSession(engine) as session:
        result = await session.execute("SELECT * FROM items")
        return result.scalars().all()
  1. Безопасность – валидируйте входные данные (Pydantic), избегайте SQL-инъекций (никогда не форматируйте строки вручную!).

  2. Тестирование – используйте тестовую БД (например, pytest-asyncio с async клиентами).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы