我需要在表上重新创建索引,因为我必须在表中插入大量数据。 我试图使用
来获得postgres中索引的定义SELECT pg_get_indexdef('start_date_sr_index_its'::regclass);
它可以工作,但是当我尝试从psycopg2运行这个相同的命令时,它表示关系不存在
psycopg2.ProgrammingError: relation "start_date_sr_index_its" does not exist
LINE 1: SELECT pg_get_indexdef('start_date_sr_index_its'::regclass);
^
我尝试将'
替换为"
,但它说的是相同的
答案 0 :(得分:1)
在postgres中获取索引定义的一种更简单的方法是直接通过pg_index表而不是使用实用程序函数pg_get_indexdef()
。
您可以简单地查询
SELECT indexdef FROM pg_indexes WHERE indexname =''
您还可以从此表中获得schemaname
,tablename
和tablespace
。