Расширения VS Code для базы данных и работы с Git
В VS Code можно смотреть таблицы, запускать SQL и проверять изменения файлов в Git, не переключаясь между приложениями. Настроим связку для PostgreSQL и разберём, где расширения помогают, а где опасно доверять им доступ к рабочей базе.

За несколько минут VS Code можно настроить так, чтобы подключаться к PostgreSQL, выполнять SQL и видеть изменения проекта в Git рядом. Для примера возьмём SQLTools с драйвером PostgreSQL и встроенную поддержку Git: расширения не заменят миграции и резервные копии, зато сократят переключения между редактором и клиентом базы.
Что понадобится до начала
Инструкция рассчитана на актуальную стабильную версию Visual Studio Code и PostgreSQL. У SQLTools и драйверов бывают обновления, поэтому при установке выбирайте последние совместимые версии в Extensions Marketplace, а не полагайтесь на номер версии из старой инструкции.
- VS Code, установленный с официального сайта.
- Адрес тестовой базы PostgreSQL, имя базы и учётная запись с ограниченными правами.
- Доступ к Marketplace либо возможность установить расширения по идентификатору.
- Git, если вы хотите видеть состояние репозитория и фиксировать изменения файлов проекта.
Не начинайте с подключения под администратором к рабочей базе. Для проверки хватит тестовой базы и отдельной учётной записи. Пароль вводите в интерфейсе расширения; не добавляйте его в SQL-файл, настройки проекта или коммит.
Установите расширения
- Найдите SQLTools. Откройте Extensions в VS Code, найдите SQLTools и установите расширение, опубликованное автором из официального проекта SQLTools. Проверка: расширение появилось в списке установленных.
- Добавьте драйвер PostgreSQL. В Marketplace найдите драйвер PostgreSQL для SQLTools, указанный в документации проекта SQLTools, и установите его отдельно. Сам SQLTools и драйвер — разные расширения: без драйвера PostgreSQL может не появиться среди доступных подключений. Проверка: в SQLTools предлагается создать соединение PostgreSQL.
- Проверьте Git. Откройте папку проекта, в которой уже есть репозиторий Git. Перейдите в Source Control: VS Code должен показать изменённые и новые файлы. Проверка: изменения SQL-файла видны в списке, а расширение Git активно.
Git-поддержка уже встроена в VS Code. GitLens — необязательное расширение, которое добавляет более подробный контекст истории и авторства изменений. Если вам нужно только посмотреть diff и сделать commit, сначала попробуйте встроенные инструменты.
Создайте подключение к PostgreSQL
- Откройте SQLTools. В боковой панели найдите раздел соединений и выберите создание нового подключения. Название команды в интерфейсе может меняться между версиями; если пункта нет, откройте Command Palette и найдите действие SQLTools для создания connection.
- Выберите PostgreSQL. Укажите тип соединения, который соответствует установленному драйверу. Проверка: форма показывает поля подключения к PostgreSQL.
- Заполните параметры тестовой базы. Введите адрес, порт, имя базы и имя пользователя из настроек вашего окружения. Порт не угадывайте: уточните его у администратора или в конфигурации сервера. Пароль сохраните в менеджере секретов расширения, если такая опция доступна в вашей версии, либо вводите при подключении.
- Проверьте соединение. Используйте кнопку проверки, если она есть в форме, затем сохраните соединение и подключитесь. Проверка: SQLTools показывает соединение активным и раскрывает список объектов базы.
- Запустите безопасный запрос. Создайте временный SQL-файл и выполните чтение, например запрос, который выводит текущую базу данных:
SELECT current_database();. Проверка: в панели результатов появляется имя подключённой базы.
Названия команд и расположение кнопок зависят от версии VS Code и SQLTools. Если интерфейс отличается, ищите нужное действие в Command Palette или сверяйтесь с документацией конкретной версии расширения.
Работайте с SQL и Git как с разными слоями
SQLTools соединяет редактор с базой. Git отслеживает файлы проекта. Это не одно и то же: запуск запроса меняет состояние базы, но сам по себе не создаёт коммит и не сохраняет историю результата запроса. Чтобы изменения схемы можно было обсуждать и повторять, храните SQL-миграции в репозитории и применяйте их через выбранный в проекте процесс миграций.
- Перед запуском проверьте активное подключение и имя базы.
- Сначала просмотрите SQL-файл в Source Control, затем выполняйте его.
- Не храните пароли, строки подключения с секретами и дампы с персональными данными в репозитории.
- Проверьте
.gitignore: временные файлы, локальные настройки и экспортированные данные не должны случайно попасть в коммит. - Изменения структуры базы оформляйте как миграции с понятным порядком применения, а не только как ручные действия в интерфейсе.
Подключение из редактора сокращает путь до базы. Но чем короче этот путь, тем важнее перед каждым запуском видеть, к какой именно базе вы подключены.
Что делать, если соединение не работает
- PostgreSQL отсутствует в списке. Проверьте, что установлен отдельный драйвер SQLTools для PostgreSQL и VS Code загрузил его без ошибки. Перезапустите окно редактора и проверьте список расширений.
- Соединение отклонено. Сверьте адрес и порт, проверьте, что сервер доступен из вашей сети, а учётной записи разрешено подключение. Ошибка может быть связана не с расширением, а с настройками доступа на сервере.
- Пароль неверный. Проверьте, какую учётную запись использует соединение, и обновите пароль через безопасное поле ввода. Не исправляйте ошибку добавлением пароля в файл конфигурации, который попадёт в Git.
- Запрос выполняется не там. Остановитесь и проверьте имя активного соединения. Для изменений данных сначала используйте тестовую базу; перед работой в production согласуйте процедуру и резервное копирование.
- В Source Control нет изменений. Убедитесь, что открыта папка репозитория, файл сохранён и не исключён правилами Git. Состояние базы данных в списке Git не появится, если его не представляют отслеживаемые файлы.
Как выбрать набор расширений
| Задача | Что использовать | Что проверить |
|---|---|---|
| Запуск SQL и просмотр объектов PostgreSQL | SQLTools и PostgreSQL-драйвер | Совместимость версий, права пользователя и активную базу |
| Просмотр изменений и коммиты | Встроенный Git в VS Code | Что в diff нет секретов, дампов и случайных файлов |
| Более подробный просмотр истории Git | GitLens — по необходимости | Нужны ли дополнительные функции команде и не дублируют ли они встроенный интерфейс |
У расширений есть цена: они получают доступ к открытым в редакторе файлам, а расширение для базы — ещё и к подключению, которое вы ему настроили. В рабочем окружении устанавливайте только нужные расширения, проверяйте издателя и не выдавайте учётной записи лишние права.
Что делать дальше
Подключите сначала тестовую базу, затем проверьте проектный процесс миграций: где хранятся SQL-файлы, кто и как их применяет, как команда откатывает неудачные изменения. После этого настройте Git так, чтобы локальные секреты и данные не попадали в историю. Для production отдельно проверьте права учётной записи, резервное копирование и порядок согласования запросов.
Миграция базы данных — версионируемый файл или набор файлов, который описывает изменение схемы либо данных и порядок его применения. В отличие от ручного изменения через клиент, миграцию можно хранить в Git и повторно применять в окружениях проекта.
IT-архитектор / SQL-оптимизатор: Поиск N+1, оптимизация запросов, code review, поиск багов.
Спросить за 20 ₽Источники: Visual Studio Code: Source Control, SQLTools — проект на GitHub
Частые вопросы
Нужно ли устанавливать GitLens, чтобы работать с Git в VS Code?
SQLTools сам сохраняет запросы в Git?
Можно ли подключать рабочую базу напрямую из VS Code?
Что делать, если интерфейс SQLTools отличается от инструкции?
Почему изменения базы не показываются в Source Control?
Материал носит информационный характер и подготовлен редакцией «Агентуры». Он не является офертой, рекламой или индивидуальной консультацией. Упомянутые продукты, компании и торговые знаки принадлежат их правообладателям. Перед принятием решений, влекущих юридические или финансовые последствия, обратитесь к профильному специалисту.