Re: pasting a lot of commands to psql

Поиск
Список
Период
Сортировка
От Scott Mead
Тема Re: pasting a lot of commands to psql
Дата
Msg-id CAKq0gvKFV-KSc002w8TZLJpxWiE0Gg4zAZ6a7W4YnJYfoyFQJQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: pasting a lot of commands to psql  (Scott Mead <scottm@openscg.com>)
Список pgsql-general


On Thu, Jul 7, 2016 at 1:39 PM, Scott Mead <scottm@openscg.com> wrote:


On Thu, Jul 7, 2016 at 1:30 PM, Dmitry Shalashov <skaurus@gmail.com> wrote:
Hi Sameer,

I am trying to copy-paste (and execute) random snippets of SQL to psql console.

There is another ways to do it, which do not involve copy-paste, but I am wondering why is copy-paste won't work. What exactly is happening there...


Dmitry Shalashov, surfingbird.ru & relap.io

2016-07-07 20:26 GMT+03:00 Sameer Kumar <sameer.kumar@ashnik.com>:


On Fri, 8 Jul 2016, 1:23 a.m. Dmitry Shalashov, <skaurus@gmail.com> wrote:
Hi everyone.

Let say that I have some sql file with like hundred of simple statements in it. I `cat` it, copy it to buffer, go to my beloved psql and insert it there.
But somewhere after first few lines it screws over: 

b2b=> BEGIN;
b2b=> INSERT INTO oko_topsites VALUES('russian_federation','ati.su',0,NULL,5);
INSERT INTO oko_topsites VALUES('russian_federation'b2b=> INSERT INTO oko_topsites VALUES('russian_federation','atn.ua',0,NULL,5);
b2b=> INSERT INTO oko_topsites VALUES('russian_federation','audit-it.ru',0,NULL,5);
b2b=> INSERT INTO oko_topsites VALUES('russian_federation','aup.ru',0,NULL,5);
'
b2b=> INSERT INTO oko_topsites VALUES('russian_federation','autocentre.ua',0,NULL,5);

b2b=> INSERT INTO oko_topsites VALUES('russian_federation','autodoc.ru',0,NULL,5);

b2b=> INSERT INTO oko_topsites VALUES('russian_federation','calend.ru'

b2b(> INSERT INTO oko_topsites VALUES('russian_federation','calorizator.ru',0,NULL,5)

Unclosed quotes, unclosed parenthesis - anyway it wont work.

How to safely insert big number of statements to psql at once?
I am aware about "execute this file" \i option of psql, that is not the answer I am looking for, thanks :-)

My personal favorite for this exact thing is to use '\e'

  When you are in psql, if you \e (on *nix) it will open a temp file in whatever your $EDITOR variable is set ( I use vim). 

on windows, it actually pops up notepad.exe.  Save and close, same behavior.

--Scott
 
Paste your data, then save-close the file.  It will put you back into psql and execute the command for you.

--Scott
 

What are you exactly aiming to do?

Have you tried -
psql  < myfile



Dmitry Shalashov, surfingbird.ru & relap.io
--
--
Best Regards
Sameer Kumar | DB Solution Architect 
ASHNIK PTE. LTD.

101 Cecil Street, #11-11 Tong Eng Building, Singapore 069 533

T: +65 6438 3504 | M: +65 8110 0350 | www.ashnik.com





--
--
Scott Mead
Sr. Architect
OpenSCG



--
--
Scott Mead
Sr. Architect
OpenSCG

В списке pgsql-general по дате отправления:

Предыдущее
От: Scott Mead
Дата:
Сообщение: Re: pasting a lot of commands to psql
Следующее
От: Dmitry Shalashov
Дата:
Сообщение: Re: pasting a lot of commands to psql