sql
This commit is contained in:
27
lib/sql/scripts-available/CDB_TableIndexes.sql
Normal file
27
lib/sql/scripts-available/CDB_TableIndexes.sql
Normal file
@@ -0,0 +1,27 @@
|
||||
-- Function returning indexes for a table
|
||||
CREATE OR REPLACE FUNCTION @extschema@.CDB_TableIndexes(REGCLASS)
|
||||
RETURNS TABLE(index_name name, index_unique bool, index_primary bool, index_keys text array)
|
||||
AS $$
|
||||
|
||||
SELECT pg_class.relname as index_name,
|
||||
idx.indisunique as index_unique,
|
||||
idx.indisprimary as index_primary,
|
||||
ARRAY(
|
||||
SELECT pg_get_indexdef(idx.indexrelid, k + 1, true)
|
||||
FROM generate_subscripts(idx.indkey, 1) as k
|
||||
ORDER BY k
|
||||
) as index_keys
|
||||
FROM pg_indexes,
|
||||
pg_index as idx
|
||||
JOIN pg_class
|
||||
ON pg_class.oid = idx.indexrelid
|
||||
WHERE pg_indexes.tablename = '' || $1 || ''
|
||||
AND '' || $1 || '' IN (SELECT CDB_UserTables())
|
||||
AND pg_class.relname=pg_indexes.indexname
|
||||
;
|
||||
|
||||
$$ LANGUAGE SQL STABLE PARALLEL SAFE;
|
||||
|
||||
-- This is to migrate from pre-0.2.0 version
|
||||
-- See http://github.com/CartoDB/cartodb-postgresql/issues/36
|
||||
GRANT EXECUTE ON FUNCTION @extschema@.CDB_TableIndexes(REGCLASS) TO public;
|
||||
Reference in New Issue
Block a user