[EDB] Object Count 프로시저 생성 (참고용)

Ja L·2024년 2월 6일
0

[PostgreSQL] Operation

목록 보기
25/35

EDB to PostgreSQL 동기종 이관 프로젝트 중 작성한 내용입니다.
모든 데이터베이스 오브젝트를 파악하기위해 Shell 스크립트로 자동화했는데,
그 중 일부를 기록합니다.

DO $$
DECLARE 
		TABLE INT;
		PARTITION_TABLE INT;
		FUNCTION INT;
		PROCEDURE INT;
		SEQUENCE INT;
		TRIGGER INT;
		PACKAGE INT;
		INDEX INT; 
		VIEW INT;
		
		OBJECT TEXT;
BEGIN
		FOREACH OBJECT IN ARRAY ARRAY['TABLE', 'PARTITION_TABLE', 'FUNCTION', 'PROCEDURE', 'SEQUENCE', 'TRIGGER', 'PACKAGE', 'INDEX', 'VIEW']
		LOOP
				RAISE NOTICE '%', OBJECT;
				
				SELECT COUNT(*) INTO OBJECT
				FROM DBA_OBJECTS
				WHERE SCHEMA_NAME NOT IN ('PG_CATALOG'
											,'pg_catalog'
											,'INFORMATION_SCHEMA'
											,'information_schema'
											,'dbms_job'
											,'dbo'
											,'oracle'
											,'plunit'
											,'plvchr'
											,'plvdate'
											,'plvlex'
											,'plvstr'
											,'plvsubst'
											,'plv_dbms_output'
											,'private_alert'
											,'private_assert'
											,'private_dbms_utility'
											,'private_random'
											,'private_utl_file'
											,'pbt_dbms_pipe'
											,'SYS'
											,'sys'
											,'utl_match')
				AND OBJECT_TYPE = OBJECT;
				
				RAISE NOTICE '%', OBJECT;
		END LOOP;
END;
$$;

알림: TABLE
알림: 6
알림: PARTITION_TABLE
알림: 0
알림: FUNCTION
알림: 146
알림: PROCEDURE
알림: 5
알림: SEQUENCE
알림: 1
알림: TRIGGER
알림: 0
알림: PACKAGE
알림: 0
알림: INDEX
알림: 2
알림: VIEW
알림: 1
DO

profile
DB Engineer

0개의 댓글