現在、データ ウェアハウス内のすべてのスキーマのテーブルにインデックスを作成する関数を作成しようとしています。これは私がこれまで持っているスクリプトです:
create or replace function dwh.loan_type_id_indexing()
returns void language plpgsql AS
$PROC$
Declare
myschema varchar;
sql text;
Begin
for myschema in
SELECT nspname
FROM pg_catalog.pg_namespace
where nspname not in ('information_schema', 'pg_catalog', 'pg_temp_1',
'pg_temp_7', 'pg_toast', 'pg_toast_temp_1',
'pg_toast_temp_7','public', 'c1', 'dwh',
'users', 'c2'
)
order by nspname
loop
sql = 'CREATE INDEX '|| myschema || '_' ||'type_id ON '||
myschema || '.' ||'.fact_tbl USING btree (loan_type_id)';
execute sql;
end loop;
END
$PROC$
volatile;
これが正しくないことはわかっていますが、私がやろうとしていることについての私の思考プロセスを説明します.