Главная страница


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)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: Как добавить запись в PostgreSQL из shell-скрипта?   Antony Y. Bolotin   05 May 2001 02:08:37 
Архивное /ru.unix/2707acf69af5.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional