无法定义索引psypg2

时间:2017-08-05 04:52:30

标签: python postgresql psycopg2

我需要在表上重新创建索引,因为我必须在表中插入大量数据。 我试图使用

来获得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);
                               ^

我尝试将'替换为",但它说的是相同的

1 个答案:

答案 0 :(得分:1)

在postgres中获取索引定义的一种更简单的方法是直接通过pg_index表而不是使用实用程序函数pg_get_indexdef()

您可以简单地查询

  

SELECT indexdef FROM pg_indexes WHERE indexname =''

您还可以从此表中获得schemanametablenametablespace