Как я могу скомпилировать функции Postgresql (pl/pgsql) из Sublime?

Есть ли способ скомпилировать pl/psql-функции из Sublime Text 2?

3 ответа

Решение

Да, ты можешь. Чтобы этот ответ работал, пользователь вашей сети должен иметь доступ к базе данных. Способ сделать это - создать новую систему сборки в Sublime для postgresql. Вы можете сделать это, нажав Инструменты> Система сборки> Новая система сборки.... Затем замените текст сборки по умолчанию на:

{
  "path": "C:/Program Files (x86)/pgAdmin III/1.20/",
  "cmd": ["psql.exe", "-f", "$file", "postgresql://db-staging-1:5432/mydbname"],
  "selector": "source.postgresql",
  "shell": true
}

Путь: это должно быть расположение вашего исполняемого файла psql.exe. Обратите внимание, если этот путь находится в пути переменных среды, эта строка не нужна.

CMD: это то, что будет запускаться из командной строки. Я также включил информацию о своем подключении здесь. Вам нужно будет заменить его на путь к серверу и номер порта для вашей базы данных. Обратите внимание, если у вас возникли проблемы с запуском сборки, самый простой способ отладить то, что он на самом деле пытается запустить, это добавить echo в начале этой строки:

 "cmd": ["echo", "psql.exe", "-f", "$file", "postgresql://db-staging-1:5432/mydbname"],

Теперь вывод вашей сборки будет именно тем, что он пытается запустить в командной строке. Если то, что он выводит здесь, не работает в вашей командной строке, то вам нужно изменить его на что-то, что будет.

Селектор: это устанавливает сборку по умолчанию для файлов postgresql.

Оболочка: Обрабатывает команду как скрипт оболочки.

Теперь вы можете выбрать вашу сборку postgresql в меню Инструменты> Система сборки. После этого простые Ctrl+B скомпилируют функции pl/pgsql в вашу базу данных! Обратите внимание, что теперь и обычный SQL можно запускать с вашей базой данных Postgresql.

Если вы регулярно взаимодействуете с несколькими базами данных одновременно, см. Эту статью как хороший справочник по настройке соединений с несколькими базами данных: как создать систему сборки для PostgreSQL

Другие параметры сборки Sublime text можно найти здесь: http://sublimetext.info/docs/en/reference/build_systems.html

С помощью этих команд добавьте файл New Build System и сохраните его.

{
"cmd": ["psql", "-d", "your-database name",
"-U", "postgres", 
"-f", "$file"],
"word_wrap": "false"
}

Я на самом деле только что выпустил плагин (называемый DB1), который позволяет вам сделать это. Вы можете динамически подключаться и выполнять запросы и функции к базе данных PostgreSQL или MySQL (я также добавляю больше баз данных). Крутая часть в том, что вам не нужно ничего устанавливать на свой компьютер (кроме Sublime Text).

Все, что вам нужно сделать, это установить DB1 через управление пакетами, а затем в представлении вы можете запустить команду DB1: Connect подключиться к вашей базе данных. Затем вы можете выполнить SQL в этом представлении через один из DB1: Execute команды.

Вы также можете просто открыть функцию PSQL (если она сохранена в файле) и выполнить весь файл.

Чтобы увидеть, как это работает, вы можете посетить сайт DB1 или документацию. Дайте мне знать, если у вас есть какие-либо вопросы по этому поводу!

Другие вопросы по тегам