On Friday, July 8, 2022 at 10:20:52 PM GMT+8, Tom Lane <tgl@xxxxxxxxxxxxx> wrote: Ludwig Isaac Lim <ludz_lim@xxxxxxxxx> writes: >> Hello: >> I noticed that I'm getting errors when copy and pasting code for stored procedure from Windows directly into psql running in putty. >> To reproduce create a procedure that has multiple statements with each statements having multiple lines, similar to the ones below: >> CREATE OR REPLACE PROCEDURE test()AS$$ UPDATE table1 SET field1 = ?; >> -- more SQL statements$$LANGUAGE SQL; >> Copy and paste from Windows editor (or IDE) to a psql running in a Putty. Chances are it will complain of syntax error. The error doesn't appear when I copy and paste it to an empty file in vim, and the run: >> psql -f <file name> >> Is there a way of prevent this kind of error when pasting directly into psql? >A gotcha I frequently run into is that if there are any literal tab > characters in the text, pasting it into psql fails because the tabs >invoke tab-completion, producing either no text or unwanted text. >I don't know if that's an issue on Windows (does your psql build >do tab completion?), but if so, the workaround is to disable tab >completion by starting psql with the '-n' switch. >Another fairly likely possibility is that your paste contains >invisible characters that psql does not think are whitespace, >like non-break space ( ). However, pasting into a file >wouldn't make that problem go away, so the tab idea seems >a shade more likely. > regards, tom lane I indent using tabs, so I believe this is a more likely explanation. I'll try to use the -n switch and see if the error still occurs. Thank you, Ludwig Lim