Linux(백엔드: Postgres)에서 DROP 테이블 명령에 문제가 있습니다. "prabhu2016-02-08--2016-02-15"라는 테이블이 있습니다. 아래 명령을 사용하여 이 테이블을 삭제하면 오류가 발생합니다... Error: Syntax error at or Near '-' line 1: ...Action table prabhu2016-02-08--2016-02.. .
코드는 다음과 같습니다. psql -d DBname -c "테이블 myschema.prabhu2016-02-08--2016-02-15 삭제
하이픈 문제인 것 같습니다.
답변1
쿼리가 shellwize와 복잡하거나 가장 잘 인용된 이름/변수를 사용해야 하는 경우 다음과 같이 합니다.
- 모든 이름을 변수로 사용: tablename="bla"
다음과 같이 psql을 호출합니다.
su - postgres -c "/usr/local/ctera/postgres/bin/psql << EOF
drop table "$tablename";
EOF"