Normalerweise verwende ich doppelte Anführungszeichen (" ) für postgres -c 's-Argument und maskierte doppelte Anführungszeichen (\" ) für psql -c s Argument. Auf diese Weise kann ich einfache Anführungszeichen verwenden (' ) innerhalb der SQL-Zeichenfolge ohne Probleme:
[example@sqldat.com ~]# su postgres -c "psql -c \"SELECT 'hi' \" "
?column?
----------
hi
(1 row)