Хостинг PostgreSQL — Supabase, Neon, Railway, облака

Managed PostgreSQL освобождает от администрирования: обновления, бэкапы, репликация — на стороне провайдера. Разбираем популярные облачные сервисы, сравниваем бесплатные тарифы и типичные ограничения каждой платформы.

PostgreSQL база знаний: перейти в рубрику с уроками на русском языке

Сравнение облачных PostgreSQL-провайдеров

СервисБесплатный тарифОт $Особенности
Supabase500MB, 2 проекта$25/мес+ Auth, Storage, Realtime, REST API из коробки
Neon512MB, serverless$19/месServerless, автопауза, branching (ветки БД)
Railway$5 кредитов/месPay-as-you-goПростой деплой, хорошо для стартапов
DigitalOceanНет$15/месManaged Databases с репликацией, VPC
Render90 дней, 256MB$7/месАвтодеплой из GitHub, хорошо с Node.js
Яндекс CloudПробный $50~900 руб/месДата-центры в России, ГОСТ, 152-ФЗ
VK CloudЕсть (ограничен)По тарифуРоссийская альтернатива, дата-центры РФ
Amazon RDS12 мес Free Tier$25+/месСамый зрелый, мультирегиональность

Supabase — PostgreSQL с экосистемой

Supabase — не просто хостинг PostgreSQL. Это платформа с аутентификацией, хранилищем файлов, реал-тайм подписками и автогенерируемым REST API:

# Строка подключения из Supabase Dashboard → Settings → Database:
postgresql://postgres:[YOUR-PASSWORD]@db.[PROJECT-REF].supabase.co:5432/postgres

# С SSL (обязательно для Supabase):
jdbc:postgresql://db.[ref].supabase.co:5432/postgres?sslmode=require

# Через Supabase JavaScript SDK:
import { createClient } from '@supabase/supabase-js'

const supabase = createClient(
  'https://[ref].supabase.co',
  'your-anon-key'
)

// Запрос без SQL:
const { data, error } = await supabase
  .from('users')
  .select('id, email')
  .eq('active', true)

# Ограничения бесплатного тарифа:
# - 500MB хранилища
# - 2 проекта
# - Проект засыпает после 7 дней неактивности (Free tier)
# - 50MB database size для бесплатного Edge Functions

Neon — serverless PostgreSQL

Neon — serverless PostgreSQL с уникальной функцией: база автоматически засыпает при отсутствии запросов и просыпается за ~500ms. Идеально для development и проектов с непостоянной нагрузкой:

# Строка подключения Neon (с пулингом через pgBouncer):
postgresql://user:password@ep-cool-rain-123456.us-east-2.aws.neon.tech/neondb?sslmode=require

# Без пулинга (для прямых подключений):
postgresql://user:password@ep-cool-rain-123456.us-east-2.aws.neon.tech:5432/neondb

# Branching — создать ветку БД как ветку git:
# Dashboard → Branches → Create Branch
# Каждая ветка — независимая копия данных
# Идеально для тестирования миграций

# Serverless драйвер для edge-функций (Vercel Edge, Cloudflare Workers):
import { neon } from '@neondatabase/serverless'

const sql = neon(process.env.DATABASE_URL)
const users = await sql`SELECT * FROM users WHERE active = true`

# Ограничения Free tier:
# - 512MB хранилища
# - 1 проект, 10 веток
# - 191.9 часов compute/месяц
# - Автопауза (просыпание ~0.5 сек)

Railway — простой деплой

# Создать PostgreSQL на Railway:
# 1. railway.app → New Project → Database → Add PostgreSQL
# 2. Скопировать DATABASE_URL из Variables

# Формат строки подключения Railway:
postgresql://postgres:password@containers-us-west-123.railway.app:6543/railway

# Подключиться через Railway CLI:
railway connect postgresql

# Переменные в приложении на Railway:
DATABASE_URL = ${{Postgres.DATABASE_URL}}
# Автоматически использует DATABASE_URL сервиса PostgreSQL

# Ограничения бесплатного тарифа:
# - $5 кредитов в месяц (хватает на ~500MB PostgreSQL)
# - После исчерпания кредитов — сервис останавливается

Яндекс Cloud и VK Cloud — для российских проектов

# Яндекс Cloud Managed PostgreSQL:
# Консоль: console.cloud.yandex.ru → Managed Service for PostgreSQL
# Версии: PostgreSQL 14, 15, 16
# Репликация: синхронная/асинхронная
# Бэкапы: ежедневно + настраиваемые
# Мониторинг: встроенный через Yandex Monitoring

# Минимальная конфигурация (примерная стоимость 2024):
# 2 vCPU, 8GB RAM, 10GB SSD → ~2500-3000 руб/мес

# Строка подключения:
postgresql://user:password@c-xxxxx.rw.mdb.yandexcloud.net:6432/db

# Через SSL (обязательно):
postgresql://user:pass@host:6432/db?sslmode=verify-full&sslrootcert=/path/to/root.crt
# Скачать CA сертификат:
# wget https://storage.yandexcloud.net/cloud-certs/CA.pem

# VK Cloud (Mail.ru) — аналогичная услуга:
# Консоль: mcs.mail.ru → Базы данных → PostgreSQL
# Дата-центры: Москва
# 152-ФЗ персональные данные

Как выбрать провайдера

  • Pet-проект / учёба → Neon или Supabase Free. Бесплатно, щедро, не нужна банковская карта
  • Стартап с постоянной нагрузкой → Supabase Pro ($25) или Railway Pay-as-you-go. Простой деплой, экосистема
  • Высокая нагрузка, своя инфраструктура → DigitalOcean Managed или Amazon RDS. Зрелые платформы с поддержкой
  • Российский проект, 152-ФЗ → Яндекс Cloud или VK Cloud. Дата-центры в РФ, соответствие законодательству
  • Edge/Serverless приложения → Neon с serverless-драйвером. Работает в Vercel Edge, Cloudflare Workers

Часто задаваемые вопросы

Что лучше — самостоятельная установка PostgreSQL или облачный сервис?

Зависит от задачи. Managed-сервис выигрывает: нет нужды в DevOps-экспертизе, бэкапы и обновления автоматические, SLA гарантирует доступность, быстрый старт. Свой сервер выигрывает: полный контроль над конфигурацией, отсутствие vendor lock-in, дешевле при большом объёме данных (>100GB), специфические расширения. Для большинства проектов на старте — managed PostgreSQL дешевле (время разработчика дороже VPS). С ростом нагрузки и масштабом — пересмотреть.

Как перенести локальную базу PostgreSQL в облако?

Три шага: 1) Создать дамп локальной базы: pg_dump -U postgres -F c -f local_backup.dump mydb. 2) Создать базу в облаке (через консоль провайдера). 3) Восстановить: pg_restore -d "postgresql://user:pass@cloud-host:5432/db?sslmode=require" local_backup.dump. Для больших баз используйте -j 4 для параллельного восстановления. Проблемы: расширения (uuid-ossp, postgis) нужно активировать вручную через консоль или CREATE EXTENSION. Проверьте версию PostgreSQL — нельзя восстановить дамп из более новой версии в более старую.

Есть ли бесплатный хостинг PostgreSQL без ограничения времени?

Neon Free Tier — без ограничения по времени, 512MB хранилища, 191.9 часов compute в месяц (база засыпает при неактивности). Supabase Free — 2 проекта по 500MB, проекты не удаляются автоматически, но засыпают после 7 дней без активности. Render Free — база удаляется через 90 дней. Для постоянного бесплатного хостинга лучше всего подходит Neon или Supabase. Внимание: бесплатные тарифы могут меняться — проверяйте актуальные условия на сайте провайдера.

Оцените статью
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x