2017-08-05 59 views
1

我需要重新創建表上的索引,因爲我必須將大量數據插入到表中。 我試圖用無法獲得索引的定義psypg2

SELECT pg_get_indexdef('start_date_sr_index_its'::regclass); 

它的工作原理獲得一個指數的Postgres裏的認定中,但是當我嘗試從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

你連接到不同的數據庫/數據庫服務器或您的'search_path'是不同的。 –

回答

1

在postgres中獲取索引定義的一種更簡單的方法是直接通過pg_index表而不是使用效用函數pg_get_indexdef()

你可以簡單地查詢

選擇indexdef FROM pg_indexes WHERE INDEXNAME = ''

還可以得到schemaname,從該表tablenametablespace

相關問題