我需要编写一个更新脚本来检查数据库中是否存在某些表,索引等,如果没有,则创建它们。我一直无法弄清楚如何进行这些检查,因为当我在PgAdmin的查询窗口中输入Syntax Error at IF
消息时,我会不断收到这些消息。
我是否必须做一些事情,比如在使用Pl / pgSQL执行这些更新的公共模式中编写存储过程并执行它来进行更新?希望我能编写一个可以运行的脚本,而无需创建额外的数据库对象来完成工作。
答案 0 :(得分:3)
如果您使用的是PostgreSQL 9.1,则可以使用CREATE TABLE ... IF NOT EXISTS
在9.0上,您可以将IF
条件代码包装到DO
块中:http://www.postgresql.org/docs/current/static/sql-do.html
对于之前的任何事情,你必须编写一个函数来实现你想要的东西。
答案 1 :(得分:1)