Portál AbcLinuxu, 10. května 2025 05:35
sql="psql -c \"SELECT pg_start_backup('initial')\"" ssh root@$x.x.x.x su - postgres -c \'$sql\' ERROR: column "a" does not exist LINE 1: SELECT pg_start_backup(a)Zkoušel jsem všelijak escapovat a prohazovat uvozovky za apostrofy, ale už si s tím nevím rady. Vím, že by to šlo změnit konfigurací postgresu tak, abych se do něj mohl připojit pod rootem, ale jelikož se chci tímto skriptem připojovat na větší množství serverů, chtěl bych se vyhnout zásahu do jejich konfigurace. Poradí někdo, jak se z tohohle pekla uvozovek dostat ven?
Řešení dotazu:
sql="psql -c \"SELECT pg_start_backup('initial')\"" ssh root@$x.x.x.x "su - postgres -c '$sql'"
ERROR: column "initial_backup" does not exist LINE 1: SELECT pg_start_backup(initial_backup)Nepřenesou se tam totiž ty apostrofy. Když je escapuju, tak se tam přenesou i s escape sekvencí.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.