|
|
ru.unix- RU.UNIX ---------------------------------------------------------------------- From : Antony Y. Bolotin 2:5020/400 05 May 2001 02:08:37 To : All Subject : Re: Как добавить запись в PostgreSQL из shell-скрипта? -------------------------------------------------------------------------------- Hi > да, а если надо много данных вставить? > (например в цикле) > дергать на каждой итерации psql? Как вариант, делаем нечто подобное: ... # сохраняем stdout exec 3>&1 1>/tmp/$USER.$UID.$PPID ... # выводим в stdout свои запросы echo "insert tablename (fieldname) values ('value')" ... # восстанавливаем stdout exec 1>&3 # вызываем psql /usr/bin/psql dbname -U username -f /tmp/$USER.$UID.$PPID # удаляем этот файлик rm /tmp/$USER.$UID.$PPID # работаем дальше ... Следует отметить, что если база на той же машине, пароль обычно не требуется. Этот вариант работает с файлом, чего не хотелось бы. По идее, с помощью команды exec можно перенаправить stdout прямо на stdin программы (что-то типа "exec 1|/usr/bin/psql ..." или с сохранением "exec 3>&1 1|/usr/bin/psql ..." и восстановлением "exec 1>&3"). Это позволило бы не вызывать psql для каждого запроса и не создавать файлик, но у меня не получилось :(( Может знатоки подскажут как это делается. --------------------------------------------------- С наилучшими пожеланиями... --- ifmail v.2.15dev5 * Origin: MMX (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix/2707acf69af5.html, оценка из 5, голосов 10
|