Предположим, что одна из таблиц в базе данных PostgreSQL 10 называется «Измерение» и имеет (среди прочих) столбец с именем «Имя» текстового типа.
Я хотел бы перечислить все записи с определенным именем, поэтому оператор SQL:
SELECT * FROM public."Measurement" WHERE "Measurement"."Name" = 'nazwa1';
отлично работает в редакторе SQL pgAdmin.
Я хотел бы спросить сервер о том же, но с psql, работающим в командной строке на Ubuntu, что-то вроде этого:
psql --host 127.0.0.1 --dbname BazaDanych --username postgres --port 5432 --echo-all --no-align --command 'SELECT * FROM public."Measurement" WHERE "Measurement"."Name" = 'nazwa1';' --log-file /home/user/wynik.log -o /home/user/dane.csv -P fieldsep=',' -P footer='off'
Это не работает, так как одна кавычка из этого оператора не распознается оболочкой, и это вызывает проблему, о которой сообщается как «столбец не существует», следующим образом:
public."Measurement" WHERE "Measurement"."Name" = nazwa1
Строка 'nazwa1' интерпретируется не как значение для сравнения с записями, а как имя столбца.
Я пробовал много способов, таких как: \ ', двойная одинарная кавычка и многие другие, но безуспешных результатов.
Как обойти это? Может ли кто-нибудь исправить мою команду?