Nothing is wrong with the syntax. If you are using copy/paste, make sure there aren't any special characters in the text.
Try typing it all on a single line to see if that works, like below. If that works then you will have to look for information on how the psql command line wants you to input multiple lines, I don't recall off hand.
SELECT * FROM pg_catalog.pg_tables WHERE schemaname != 'pg_catalog' AND schemaname != 'information schema';
Did you type those lines in, or paste them? As mentioned above, if pasted it could be a non-visible character (like a TAB) that is causing a problem perhaps?
Are you pasting it in or manually typing it in?
I still say invalid character. If you are using a UTF editor, it might not be a space character you are pasting.
You aren't answering our questions.
Are you physically typing into the psql window or pasting the command into it?
Yes, original issue has been resolved.
>> I am pasting query into that.
Then you need to make sure you are pasting what you think you are pasting. Something you are pasting isn't correct.
SELECT * FROM pg_catalog.pg_tables WHERE schemaname <> 'pg_catalog' AND schemaname <> 'information_schema';
You could also save the query to a file, and then just reference the file in the postgres command where you are pasting. Try saving to a file and then referencing the file like: