我在 Linux 中遇到 DROP table 命令的问题(后端:Postgres)。我有一个名为“prabhu2016-02-08--2016-02-15”的表。当我使用下面的命令删除此表时,我收到错误...错误:“-”第 1 行处或附近的语法错误:...操作表 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"