Question: I googled a lot but..

How do I escape single quote in command line query of psql ?

```
psql -t -A -F $'\t' postgresql://zzzz:5432/casedb -U qqqq -c 'select id,ext_ids ->> 'qwe' as qwe from data ORDER BY qwe' > /jdata/qwe.tab

```

Results in error

```
ERROR:  column "qwe" does not exist
LINE 1: select id,ext_ids ->> qwe as qwe from data...

```

Answer: 
In Postgres you can use [dollar-quoted strings](https://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-CONSTANTS):

```
select id,ext_ids ->> $$qwe$$ as qwe from data ORDER BY qwe;
-- or
select id,ext_ids ->> $anything$qwe$anything$ as qwe from data ORDER BY qwe;

```
You could just use double quotes (`"`) for the shell quoting and single quotes (`'`) for the SQL quoting:

```
psql -t -A -F $'\t' postgresql://zzzz:5432/casedb -U qqqq -c "select id,ext_ids ->> 'qwe' as qwe from data ORDER BY qwe" > /jdata/qwe.tab
# Here ------------------------------------------------------^---------------------------------------------------------^

```