Det, jeg plejer, er at bruge dobbelte anførselstegn (" ) for postgres -c 's argument og undslupne dobbelte anførselstegn (\" ) for psql -c 's argument. På den måde kan jeg bruge enkelte anførselstegn (' ) inde i SQL-strengen uden problemer:
[example@sqldat.com ~]# su postgres -c "psql -c \"SELECT 'hi' \" "
?column?
----------
hi
(1 row)