我运行的是PostgreSQL 9.6.4版本,需要创建一个索引,但在创建索引之前,我想检查表格和索引是否已经存在。我尝试了以下操作,但出现了语法错误:
感谢Laurenz Albe,解决方案如下:
DO $$
BEGIN
IF (SELECT to_regclass('public.areacrossing') != null) THEN
CREATE INDEX IF NOT EXISTS areac_d_idx
ON public.areacrossing USING btree
(d_id)
TABLESPACE pg_default;
END
$$
ERROR: ERROR: Syntaxerror at the end of input
LINE 27: $$
^
SQL state: 42601
Character: 508
感谢Laurenz Albe,解决方案如下:
DO $$
BEGIN
IF (SELECT to_regclass('public.areacrossing') IS NOT null)
THEN
CREATE INDEX IF NOT EXISTS areac_d_idx
ON public.areacrossing USING btree
(d_id)
TABLESPACE pg_default;
END IF;
END $$;
$$
后面缺少;
了吗? - Jorge Campos