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