ç°çš®ããŒã¿ããŒã¹ã®ç§»è¡ã¯å€æ®µéã®ããã»ã¹ã§ãããéåžžãè©äŸ¡ãããŒã¿ããŒã¹ã¹ããŒãã®å€æãããŒã¿ç§»è¡ãæ©èœãã¹ããããã©ãŒãã³ã¹ãã¥ãŒãã³ã°ãªã©ãè€æ°ã®ããŒã ã«ãããå€ãã®ã¹ããããå«ãŸããŸãã IBM Db2 LUW ãã Amazon Aurora PostgreSQL äºæãšãã£ã·ã§ã³ ãŸã㯠Amazon Relational Database Service (Amazon RDS) for PostgreSQL ãžã®ç§»è¡ã¯ãæ¬è³ªçã«ç°çš®DBã®ç§»è¡ã§ãããåŸåããçšããããŠãããããã£ãæé ãå¿
èŠã§ãã AWS ã§ã¯ãç°çš®ããŒã¿ããŒã¹ç§»è¡ã®ã¹ããŒã倿ãç°¡çŽ åãã AWS Schema Conversion Tool (AWS SCT)ããããŠã³ã¿ã€ã ãæå°éã«æããªããããŒã¿ãè¿
éãã€å®å
šã« AWS ã«ç§»è¡ã§ãã AWS Database Migration Service (AWS DMS) ãªã©ã®ããŒã«ãšãµãŒãã¹ãæäŸããŠããŸãã AWS SCT ã¯ãPostgreSQL ã«èªåçã«å€æããã Db2 ã³ãŒãã®å²åãå€æã«æäœæ¥ãå¿
èŠãªã³ãŒãã®å²åãšè©³çްãªã¢ã¯ã·ã§ã³é
ç®ã瀺ãè©äŸ¡ã¬ããŒããçæããŸãã AWS SCT ã«ããã¹ããŒãã®ç§»è¡ã¯å®å
šã«èªååãããããã»ã¹ã§ã¯ãªããããã¿ãŒã²ããããŒã¿ããŒã¹ã®ãªããžã§ã¯ããäž»èŠãªãªããžã§ã¯ãæ©èœãäžè¶³ããŠããå¯èœæ§ã¯åžžã«ãããŸãã ã¹ããŒãã®æ€èšŒã¯ç§»è¡ããã»ã¹ã«ãããŠãã¹ããŒã倿ããã»ã¹ã§ã®åé¡ãããã以éã®æ®µéã«æã¡è¶ããªãããã«ããããã®éèŠãªãã€ã«ã¹ããŒã³ã§ãã ãã®èšäºã§ã¯ãDb2 LUW ãã Amazon RDS for PostgreSQL ãŸã㯠Aurora PostgreSQL ã«ç§»è¡ãããããŒã¿ããŒã¹ã¹ããŒããªããžã§ã¯ããæ€èšŒããæ¹æ³ã«ã€ããŠèª¬æããŸãã ãã€ãã©ã®ãªããžã§ã¯ããæ€èšŒãã¹ãã ã¹ããŒãã Db2 LUW ããæ£åžžã«å€æããAWS SCT ãŸãã¯ãã®ä»ã®å€æããŒã«ã䜿çšã㊠PostgreSQL ã«å€æãããã¹ããŒãããããã€åŸãã¹ããŒãæ€èšŒãå®è¡ããå¿
èŠããããŸãã æ¬¡ã®ãªã¹ãã¯ãããŒã¿ããŒã¹ç§»è¡æã«æ€èšŒããå¿
èŠããã Db2 LUW (ãœãŒã¹) ãš Aurora PostgreSQL (ã¿ãŒã²ãã) ã®ããŒã¿ããŒã¹ãªããžã§ã¯ãã瀺ããŠããŸãã ã¹ããŒã ããŒãã« ãã¥ãŒ äž»ã㌠å€éšã㌠ã€ã³ããã¯ã¹ ãããªã¢ã©ã€ãºãã¯ãšãªããŒãã« ãŠãŒã¶ãŒå®çŸ©ããŒã¿å ããªã¬ãŒ ã·ãŒã±ã³ã¹ ããã·ãŒãžã£ 颿° 以äžã®ã»ã¯ã·ã§ã³ã§ã¯ãåãªããžã§ã¯ãã¿ã€ãã®ãªããžã§ã¯ãæ°ããœãŒã¹ããŒã¿ããŒã¹ãšã¿ãŒã²ããããŒã¿ããŒã¹ã§äžå®ã§ããããšã確èªããããã«ãåãªããžã§ã¯ãã¿ã€ãã®æ€èšŒã·ããªãªã詳现ã«èª¬æããŸãã ãããã®æ€èšŒã·ããªãªã§ã¯ã倿ã®ç²ŸåºŠã¯å¯Ÿè±¡å€ã§ãã ã¹ããŒã ã¹ããŒãã¯ãã¢ããªã±ãŒã·ã§ã³ãŸãã¯ãã€ã¯ããµãŒãã¹ã«é¢é£ããæ©èœãæäŸããããŒã¿ããŒã¹ãªããžã§ã¯ãã®éãŸãã§ãã SQL ã¯ãšãªã䜿çšããŠããœãŒã¹ããŒã¿ããŒã¹ãšã¿ãŒã²ããããŒã¿ããŒã¹ã®ã¹ããŒããæ€èšŒã§ããŸãã DB2 LUW Query PostgreSQL Query select schemaname as schema_name from syscat . schemata where schemaname not like 'SYS%' and schemaname not IN ( 'SQLJ' , 'NULLID' ) order by schema_name ; SQL SELECT SCHEMA_NAME , SCHEMA_OWNER FROM INFORMATION_SCHEMA . SCHEMATA WHERE SCHEMA_NAME not in ( 'pg_catalog' , 'information_schema' , 'aws_commons' , 'aws_lambda' , 'aws_db2_ext_data' , 'aws_db2_ext' , 'public' ) AND SCHEMA_NAME not like 'pg_temp%' AND SCHEMA_NAME not like 'pg_toast%' order by SCHEMA_NAME ; SQL Db2 LUW example output: PostgreSQL example output: Db2 LUW ã¹ããŒãã倿ãããšãAWS SCT ã¯ã¿ãŒã²ããããŒã¿ããŒã¹ã«è¿œå ã®ã¹ããŒã ( aws_db2_ext ãš aws_db2_ext_data ) ã远å ããŸãã ãããã®ã¹ããŒãã¯ã倿ãããã¹ããŒãã Aurora PostgreSQL ããŒã¿ããŒã¹ã«æžã蟌ãéã«å¿
èŠãª Db2 LUW ããŒã¿ããŒã¹ã® SQL ã·ã¹ãã 颿°ãå®è£
ããŸãã ãããã®è¿œå ã¹ããŒã㯠AWS SCT æ¡åŒµãã㯠ãšåŒã°ããŸãã Db2 LUW ãš PostgreSQL (â pg_catalog âãâ information_schema âãâ public â) ã®ã·ã¹ãã ããŒãã«ãŸãã¯ã«ã¿ãã°ããŒãã« (â SYS% âãâ SQLJ âãâ NULLID â) ã«é¢é£ããã¹ããŒãã¯é€å€ãããŸãã ãŸããAurora PostgreSQL ã®ç¹å®ã®æ©èœã«é¢é£ããã¹ããŒã ( aws_commons ã aws_lambda ) ãé€å€ããŠããŸãã ãœãŒã¹ããŒã¿ããŒã¹ãšã¿ãŒã²ããããŒã¿ããŒã¹ã®ã¹ããŒãã®æ°ãäžèŽããŠããããšã確èªããå¿
èŠããããŸãã çžéç¹ãèŠã€ãã£ãå Žåã¯ã AWS SCT ã®ãã° ã調ã¹ãŠé害ã®åå ãç¹å®ããããæåã§äœæããå¿
èŠããããŸãã ããŒãã« AWS SCT ã¯ãœãŒã¹ Db2 LUW ããŒãã«ãåçã®ã¿ãŒã²ãã (PostgreSQL) ããŒãã«ã«å€æããŸãã å¿
èŠã«å¿ããŠãã«ã¹ã¿ã ãããã³ã°ã«ãŒã« ã䜿çšããŠç¹å®ã®ããŒãã«ãç§»è¡å¯Ÿè±¡ã«å«ãããé€å€ãããã§ããŸãã 以äžã®ã¹ã¯ãªããã¯ããã¹ãŠã®ããŒãã«ã®æ°ãšè©³çްã¬ãã«ã®æ
å ±ãè¿ããŸãã Db2 LUW Query PostgreSQL Query select tab . tabschema as schema_name , count ( tab . tabname ) as table_count from syscat . tables tab where tab . type = 'T' and tab . tabschema not like 'SYS%' group by tab . tabschema order by tab . tabschema ; SQL SELECT NSPNAME as schema_name , count ( RELNAME ) as table_count FROM PG_CLASS C LEFT JOIN PG_NAMESPACE N ON N . OID = C . RELNAMESPACE WHERE C . RELKIND in ( 'p' , 'r' ) AND C . RELISPARTITION = 'f' AND N . NSPNAME not in ( 'pg_catalog' , 'information_schema' , 'aws_commons' , 'aws_lambda' , 'aws_db2_ext_data' , 'aws_db2_ext' , 'public' ) group by NSPNAME ORDER BY NSPNAME ; SQL Db2 LUW example output: PostgreSQL example output: IBM Db2 ã§ã¯ããŒãã«ããŒãã£ã·ã§ã³ãåå¥ã®ããŒãã«ãšããŠãªã¹ãããŠããªããããPostgreSQL ã®ããŒãã£ã·ã§ã³ããŒãã«ãé€å€ããããã« C.RELISPARTITION = 'f' ãšããæ¡ä»¶ã远å ããŸããã PostgreSQL ã«ã¯ããã©ã€ããªããŒãå€éšããŒãã€ã³ããã¯ã¹ã®ãªããžã§ã¯ãæ°ã«åœ±é¿ããå¯èœæ§ã®ãã ããŒãã£ã·ã§ã³ããŒãã« ã«é¢ããããã€ãã®å¶éãããããšã«æ³šæããŠãã ããã 詳现ã¬ãã«ã®æ
å ±ã«ã€ããŠã¯ã以äžã®ã¯ãšãªã䜿çšããŠãã ããã Db2 LUW Query PostgreSQL Query select tab . tabschema as schema_name , tab . tabname as table_name from syscat . tables tab where tab . type = 'T' and tab . tabschema not like 'SYS%' order by tab . tabschema , tab . tabname ; SQL SELECT NSPNAME as schema_name , RELNAME as table_name FROM PG_CLASS C LEFT JOIN PG_NAMESPACE N ON N . OID = C . RELNAMESPACE WHERE C . RELKIND in ( 'p' , 'r' ) AND C . RELISPARTITION = 'f' AND N . NSPNAME not in ( 'pg_catalog' , 'information_schema' , 'aws_commons' , 'aws_lambda' , 'aws_db2_ext_data' , 'aws_db2_ext' , 'public' ) order by NSPNAME , RELNAME ; SQL Db2 LUW example output: PostgreSQL example output: ãœãŒã¹ããŒã¿ããŒã¹ãšã¿ãŒã²ããããŒã¿ããŒã¹ã®çµæãæ€èšŒããŸãã éããèŠãããå Žåã¯ãAWS SCT ãŸãã¯æåãã°ããçç±ãç¹å®ããåé¡ã解決ããåŸã«å€±æããã¹ããŒãã¡ã³ããåå®è¡ããŠãã ããã ãã¥ãŒ AWS SCT ã«ãã£ãŠå€æããããã¥ãŒæ°ã¯ããœãŒã¹ããŒã¿ããŒã¹ãšã¿ãŒã²ããããŒã¿ããŒã¹ã§æ¬¡ã®ã¯ãšãªãå®è¡ããŠæ€èšŒã§ããŸãã Db2 LUW Query PostgreSQL Query select tab . tabschema as schema_name , count ( tab . tabname ) as view_count from syscat . tables tab where tab . type = 'V' and tab . tabschema not like 'SYS%' group by tab . tabschema order by tab . tabschema ; SQL SELECT NSPNAME as schema_name , count ( RELNAME ) as view_count FROM PG_CLASS C LEFT JOIN PG_NAMESPACE N ON N . OID = C . RELNAMESPACE WHERE C . RELKIND in ( 'v' ) AND C . RELISPARTITION = 'f' AND N . NSPNAME not in ( 'pg_catalog' , 'information_schema' , 'aws_commons' , 'aws_lambda' , 'aws_db2_ext_data' , 'aws_db2_ext' , 'public' ) group by NSPNAME order by NSPNAME ; SQL Db2 LUW example output: PostgreSQL example output: 詳现ã¬ãã«ã®æ
å ±ã«ã€ããŠã¯ã以äžã®ã¯ãšãªã䜿çšããŠãã ããã Db2 LUW Query PostgreSQL Query select tab . tabschema as schema_name , tab . tabname as view_name from syscat . tables tab where tab . type = 'V' and tab . tabschema not like 'SYS%' order by tab . tabschema , tab . tabname ; SQL SELECT NSPNAME as schema_name , RELNAME as view_name FROM PG_CLASS C LEFT JOIN PG_NAMESPACE N ON N . OID = C . RELNAMESPACE WHERE C . RELKIND in ( 'v' ) AND C . RELISPARTITION = 'f' AND N . NSPNAME not in ( 'pg_catalog' , 'information_schema' , 'aws_commons' , 'aws_lambda' , 'aws_db2_ext_data' , 'aws_db2_ext' , 'public' , 'db2inst1' ) order by NSPNAME , RELNAME ; SQL Db2 LUW example output: PostgreSQL example output: ãã® SQL ã䜿çšããŠããœãŒã¹ãšã¿ãŒã²ããã®éã®æ°ãšè©³çްã確èªããå¿
èŠããããŸãã çžéç¹ãèŠã€ãã£ãå Žåã¯ãåå ãç¹å®ããŠçžéç¹ãä¿®æ£ããŠãã ããã äž»ã㌠ããŒã¿ããŒã¹ãªããžã§ã¯ãã®æ€èšŒã«å ããŠãããŒã¿ã«äžè²«æ§ããããæŽåæ§ãä¿ãããŠããããšã確èªããå¿
èŠããããŸãã å¶çŽ ã®çš®é¡ãç°ãªããšãæ¿å
¥æã«ããŒã¿ãæè»ã«å¶åŸ¡ããŠç¢ºèªã§ãããããå®è¡æã®ããŒã¿æŽåæ§ã®åé¡ãåé¿ã§ããŸãã äž»ããŒã䜿çšãããšãåã«äžæã®å€ãèšå®ã§ãããããæ£èŠååŠçåŸã«æ
å ±ãéè€ããã®ãé²ãããšãã§ããŸãã ãã®ããŒã¯ãããŒå€ã«åºã¥ãæ€çŽ¢ãæ¹åããããŒãã«ã¹ãã£ã³ãåé¿ããã®ã«åœ¹ç«ã¡ãŸãã æ¬¡ã®ã¯ãšãªã¯ããœãŒã¹ããŒã¿ããŒã¹ãšã¿ãŒã²ããããŒã¿ããŒã¹ã®äž»ããŒã®æ°ãšè©³çŽ°ãæœåºããã®ã«åœ¹ç«ã¡ãŸãã Db2 LUW Query PostgreSQL Query select tab . tabschema as schema_name , count ( * ) as PK_Count from syscat . tables tab inner join syscat . tabconst const on const . tabschema = tab . tabschema and const . tabname = tab . tabname and const . type = 'P' inner join syscat . keycoluse key on const . tabschema = key . tabschema and const . tabname = key . tabname and const . constname = key . constname where tab . type = 'T' and tab . tabschema not like 'SYS%' group by tab . tabschema order by tab . tabschema ; SQL select kcu . table_schema , count ( * ) as pk_count from information_schema . table_constraints tco join information_schema . key_column_usage kcu on kcu . constraint_name = tco . constraint_name and kcu . constraint_schema = tco . constraint_schema and kcu . constraint_name = tco . constraint_name where tco . constraint_type = 'PRIMARY KEY' and kcu . table_schema not in ( 'pg_catalog' , 'information_schema' , 'aws_commons' , 'aws_lambda' , 'aws_db2_data' , 'aws_db2_context' , 'aws_db2_ext' , 'public' , 'db2inst1' ) group by kcu . table_schema order by kcu . table_schema ; SQL Db2 LUW example output: PostgreSQL example output: 詳现ã¬ãã«ã®æ
å ±ã«ã€ããŠã¯ã以äžã®ã¯ãšãªã䜿çšããŠãã ããã Db2 LUW Query PostgreSQL Query select tab . tabschema as schema_name , tab . tabname as table_name , const . constname , key . colname as column_name , key . colseq as position from syscat . tables tab inner join syscat . tabconst const on const . tabschema = tab . tabschema and const . tabname = tab . tabname and const . type = 'P' inner join syscat . keycoluse key on const . tabschema = key . tabschema and const . tabname = key . tabname and const . constname = key . constname where tab . type = 'T' and tab . tabschema not like 'SYS%' order by tab . tabschema , tab . tabname , const . constname , key . colname , key . colseq ; SQL select kcu . table_schema , kcu . table_name , tco . constraint_name , kcu . column_name , kcu . ordinal_position as position from information_schema . table_constraints tco join information_schema . key_column_usage kcu on kcu . constraint_name = tco . constraint_name and kcu . constraint_schema = tco . constraint_schema and kcu . constraint_name = tco . constraint_name where tco . constraint_type = 'PRIMARY KEY' and kcu . table_schema not in ( 'pg_catalog' , 'information_schema' , 'aws_commons' , 'aws_lambda' , 'aws_db2_data' , 'aws_db2_context' , 'aws_db2_ext' , 'public' , 'db2inst1' ) order by kcu . table_schema , kcu . table_name , tco . constraint_name , kcu . column_name , kcu . ordinal_position ; SQL Db2 LUW example output: PostgreSQL example output: ãã® SQL ã䜿çšããŠããœãŒã¹ãšã¿ãŒã²ããã®éã®ãã©ã€ããªããŒã®æ°ãšè©³çްã確èªããå¿
èŠããããŸãã çžéç¹ãèŠã€ãã£ãå Žåã¯ããããã€ãã°ããåå ãç¹å®ããéããä¿®æ£ããŠãã ããã å€éšã㌠å€éšããŒã¯ããŒãã«éã®åç
§æŽåæ§ãç¶æããã®ã«åœ¹ç«ã¡ãŸãã AWS DMS ã®ãã«ããŒãã䜿çšããŠããŒã¿ç§»è¡ãå®è¡ããåã«ãã¿ãŒã²ããåŽã§ãããã®ããŒããªãã«ããå¿
èŠããããŸãã 詳现ã«ã€ããŠã¯ãã PostgreSQL ããŒã¿ããŒã¹ã® AWS Database Migration Service ã®ã¿ãŒã²ãããšããŠã®äœ¿çš ããåç
§ããŠãã ããã æ¬¡ã®ã¯ãšãªã§ã¯ããœãŒã¹ããŒã¿ããŒã¹ãšã¿ãŒã²ããããŒã¿ããŒã¹ã®äž¡æ¹ã«ããå€éšããŒã®æ°ãšè©³çްã¬ãã«ã®æ
å ±ãååŸã§ããŸãã å€éšããŒã¯ãAWS DMS ã䜿çšããŠãã«ããŒãã«ããããŒã¿ç§»è¡ãå®äºããåŸã«æ€èšŒããŸãã Db2 LUW Query PostgreSQL Query select tabschema as schema_name , count ( * ) as fk_count from syscat . references where tabschema not like 'SYS%' group by tabschema order by tabschema ; SQL select kcu . table_schema , count ( * ) as fk_count from information_schema . table_constraints tco join information_schema . key_column_usage kcu on kcu . constraint_name = tco . constraint_name and kcu . constraint_schema = tco . constraint_schema and kcu . constraint_name = tco . constraint_name where tco . constraint_type = 'FOREIGN KEY' and kcu . table_schema not in ( 'pg_catalog' , 'information_schema' , 'aws_commons' , 'aws_lambda' , 'aws_db2_data' , 'aws_db2_context' , 'aws_db2_ext' , 'public' , 'db2inst1' ) group by kcu . table_schema order by kcu . table_schema ; SQL Db2 LUW example output: PostgreSQL example output: 詳现ã¬ãã«ã®æ
å ±ã«ã€ããŠã¯ã以äžã®ã¯ãšãªã䜿çšããŠãã ããã Db2 LUW Query PostgreSQL Query select ref . reftabschema as schema_name , ref . reftabname as table_name , ref . constname as fk_constraint_name , ref . tabname as foreign_table_name , trim ( key . colname ) as fk_column_name from syscat . references ref left outer join syscat . keycoluse key on key . tabschema = ref . tabschema and key . tabname = ref . tabname and key . constname = ref . constname where ref . tabschema not like 'SYS%' order by ref . reftabschema , ref . reftabname , ref . constname ; SQL select rel_kcu . table_schema as schema_name , rel_kcu . table_name as table_name , kcu . constraint_name , kcu . table_name as foreign_table_name , kcu . column_name as fk_column_name from information_schema . table_constraints tco join information_schema . key_column_usage kcu on tco . constraint_schema = kcu . constraint_schema and tco . constraint_name = kcu . constraint_name join information_schema . referential_constraints rco on tco . constraint_schema = rco . constraint_schema and tco . constraint_name = rco . constraint_name join information_schema . key_column_usage rel_kcu on rco . unique_constraint_schema = rel_kcu . constraint_schema and rco . unique_constraint_name = rel_kcu . constraint_name and kcu . ordinal_position = rel_kcu . ordinal_position where tco . constraint_type = 'FOREIGN KEY' and kcu . table_schema not in ( 'pg_catalog' , 'information_schema' , 'aws_commons' , 'aws_lambda' , 'aws_db2_data' , 'aws_db2_context' , 'aws_db2_ext' , 'public' , 'db2inst1' ) order by rel_kcu . table_schema , rel_kcu . table_name , kcu . constraint_name ; SQL Db2 LUW example output: PostgreSQL example output: PostgreSQL ããŒãžã§ã³ 11 ã«ã¯ããŒãã£ã·ã§ã³ããŒãã«ã®å€éšããŒã«é¢ãã å¶é ããããŸããããã®å¶éã®å€ãã¯ããŒãžã§ã³ 12 以éã§ã¯è§£æ¶ãããŠããŸãã ãœãŒã¹ããŒã¿ããŒã¹ãšã¿ãŒã²ããããŒã¿ããŒã¹éã®å€éšããŒã®æ°ãšè©³çŽ°ãæ€èšŒããéã¯ããããã®å¶éã«çæããå¿
èŠããããŸãã ã€ã³ããã¯ã¹ ã€ã³ããã¯ã¹ã¯ãããŒãã«ã® 1 ã€ä»¥äžã®åã«åºã¥ããŠäœæãããããŒã¿ããŒã¹ãªããžã§ã¯ãã§ãã ã€ã³ããã¯ã¹ã¯ã¯ãšãªã®ããã©ãŒãã³ã¹ãæ¹åãããŠããŒã¯ã€ã³ããã¯ã¹ãšããŠå®çŸ©ããå Žåã«ã¯ããŒã¿ã®äžææ§ãä¿èšŒããŸãã ãŠããŒã¯ã€ã³ããã¯ã¹ ãŠããŒã¯ããŒã䜿çšãããšãã«ã©ã å
ã®ããŒã¿ã®äžææ§ãç¶æã§ããŸãã æ¬¡ã®ã¯ãšãªã䜿çšãããšããœãŒã¹ããŒã¿ããŒã¹ãšã¿ãŒã²ããããŒã¿ããŒã¹ã®äž¡æ¹ã«ãããŠããŒã¯ããŒã®æ°ãšè©³çްã¬ãã«ã®æ
å ±ãååŸã§ããŸãã Db2 LUW Query PostgreSQL Query select ind . tabschema as schema_name , count ( cols . colname ) as unique_count from syscat . indexes ind join syscat . indexcoluse cols on ind . indname = cols . indname and ind . indschema = cols . indschema where ind . tabschema not like 'SYS%' and ind . uniquerule in ( 'U' ) group by ind . tabschema order by schema_name ; SQL SELECT sch . nspname , count ( * ) as unique_count FROM pg_index idx JOIN pg_class cls ON cls . oid = idx . indexrelid JOIN pg_class tab ON tab . oid = idx . indrelid and tab . RELISPARTITION = 'f' JOIN pg_namespace sch on sch . oid = tab . relnamespace JOIN pg_am am ON am . oid = cls . relam JOIN pg_indexes ids ON sch . nspname = ids . schemaname and ids . tablename = tab . relname and cls . relname = ids . indexname where idx . indisunique = 't' and indisprimary = 'f' and sch . nspname not in ( 'pg_toast' , 'pg_catalog' , 'information_schema' , 'aws_commons' , 'aws_lambda' , 'aws_db2_ext_data' , 'aws_db2_ext' , 'public' , 'db2inst1' ) group by sch . nspname order by sch . nspname ; SQL Db2 LUW example output: PostgreSQL example output: 詳现ã¬ãã«ã®æ
å ±ã«ã€ããŠã¯ã以äžã®ã¯ãšãªã䜿çšããŠãã ããã Db2 LUW Query PostgreSQL Query select ind . tabschema as schema_name , ind . tabname as table_name , ind . indname as CONSTRAINT_NAME , 'Unique Index' as constraint_type , cols . colname as column_name from syscat . indexes ind join syscat . indexcoluse cols on ind . indname = cols . indname and ind . indschema = cols . indschema where ind . tabschema not like 'SYS%' and ind . uniquerule in ( 'U' ) order by schema_name , ind . tabname , ind . indname ; SQL SELECT sch . nspname as schema_name , tab . relname as table_name , cls . relname as constraint_name , ids . indexdef as definition FROM pg_index idx JOIN pg_class cls ON cls . oid = idx . indexrelid JOIN pg_class tab ON tab . oid = idx . indrelid and tab . RELISPARTITION = 'f' JOIN pg_namespace sch on sch . oid = tab . relnamespace JOIN pg_am am ON am . oid = cls . relam JOIN pg_indexes ids ON sch . nspname = ids . schemaname and ids . tablename = tab . relname and cls . relname = ids . indexname where idx . indisunique = 't' and indisprimary = 'f' and sch . nspname not in ( 'pg_toast' , 'pg_catalog' , 'information_schema' , 'aws_commons' , 'aws_lambda' , 'aws_db2_ext_data' , 'aws_db2_ext' , 'public' , 'db2inst1' ) order by sch . nspname ; SQL Db2 LUW example output: PostgreSQL example output: éãŠããŒã¯ã€ã³ããã¯ã¹ ã€ã³ããã¯ã¹ ã¯ã¯ãšãªã®ããã©ãŒãã³ã¹ãåäžãããäžã§éèŠãªåœ¹å²ãæãããŸãã ãã¥ãŒãã³ã°æ¹æ³ã¯ããŒã¿ããŒã¹ããšã«ç°ãªããããDb2 LUW ããŒã¿ããŒã¹ãš PostgreSQL ããŒã¿ããŒã¹ã§ã¯ãŠãŒã¹ã±ãŒã¹ã«ãã£ãŠã€ã³ããã¯ã¹ã®æ°ãçš®é¡ãç°ãªããããã€ã³ããã¯ã¹ã®æ°ãç°ãªãå ŽåããããŸãã PostgreSQL ã®ããŒãã£ã·ã§ã³ããŒãã«ã®å¶éã«ãããã€ã³ããã¯ã¹æ°ãç°ãªãå ŽåããããŸãã Db2 LUW Query PostgreSQL Query select ind . tabschema as schema_name , count ( cols . colname ) as index_count from syscat . indexes ind join syscat . indexcoluse cols on ind . indname = cols . indname and ind . indschema = cols . indschema where ind . tabschema not like 'SYS%' and ind . uniquerule in ( 'D' ) group by ind . tabschema order by schema_name ; SQL SELECT sch . nspname , count ( * ) as index_count FROM pg_index idx JOIN pg_class cls ON cls . oid = idx . indexrelid JOIN pg_class tab ON tab . oid = idx . indrelid and tab . RELISPARTITION = 'f' JOIN pg_namespace sch on sch . oid = tab . relnamespace JOIN pg_am am ON am . oid = cls . relam JOIN pg_indexes ids ON sch . nspname = ids . schemaname and ids . tablename = tab . relname and cls . relname = ids . indexname where idx . indisunique = 'f' and indisprimary = 'f' and sch . nspname not in ( 'pg_toast' , 'pg_catalog' , 'information_schema' , 'aws_commons' , 'aws_lambda' , 'aws_db2_ext_data' , 'aws_db2_ext' , 'public' , 'db2inst1' ) group by sch . nspname order by sch . nspname ; SQL Db2 LUW example output: PostgreSQL example output: 詳现ã¬ãã«ã®æ
å ±ã«ã€ããŠã¯ã以äžã®ã¯ãšãªã䜿çšããŠãã ããã Db2 LUW Query PostgreSQL Query select ind . tabschema as schema_name , ind . tabname as table_name , ind . indname as index_name , cols . colname as column_name from syscat . indexes ind join syscat . indexcoluse cols on ind . indname = cols . indname and ind . indschema = cols . indschema where ind . tabschema not like 'SYS%' and ind . uniquerule in ( 'D' ) order by schema_name , ind . tabname , ind . indname , cols . colname ; SQL SELECT sch . nspname as schema_name , tab . relname as tabl_name , cls . relname as constraint_name , ids . indexdef as definition FROM pg_index idx JOIN pg_class cls ON cls . oid = idx . indexrelid JOIN pg_class tab ON tab . oid = idx . indrelid and tab . RELISPARTITION = 'f' JOIN pg_namespace sch on sch . oid = tab . relnamespace JOIN pg_am am ON am . oid = cls . relam JOIN pg_indexes ids ON sch . nspname = ids . schemaname and ids . tablename = tab . relname and cls . relname = ids . indexname where idx . indisunique = 'f' and indisprimary = 'f' and sch . nspname not in ( 'pg_toast' , 'pg_catalog' , 'information_schema' , 'aws_commons' , 'aws_lambda' , 'aws_db2_ext_data' , 'aws_db2_ext' , 'public' , 'db2inst1' ) order by sch . nspname ; SQL Db2 LUW example output: PostgreSQL example output: ãœãŒã¹ããŒã¿ããŒã¹ãšã¿ãŒã²ããããŒã¿ããŒã¹éã®ã€ã³ããã¯ã¹ã®æ°ãšè©³çްã確èªããå¿
èŠããããŸããéããããå Žåã¯ãæ¢ç¥ã®çç±ã«ãããã®ãããããã€ã¡ã³ããã°ã«åºã¥ããŠèª¿æ»ããŠä¿®æ£ããå¿
èŠããããŸãã ãããªã¢ã©ã€ãºãã»ã¯ãšãªãŒã»ããŒãã« Db2 LUW ã®ãããªã¢ã©ã€ãºãã¯ãšãªããŒãã«ã¯ PostgreSQL ã® ãããªã¢ã©ã€ãºããã¥ãŒ ãšããŠç§»è¡ãããŸãã ãããªã¢ã©ã€ãºãã¯ãšãªããŒãã«ãçµæãããŒãã«ã®ãããªåœ¢ã§ä¿æããããšãé€ãã°ãéåžžã®ãã¥ãŒãšäŒŒãŠããŸãã ããã«ãããããŒã¿ãããã«è¿ãããã®ã§ãã¯ãšãªã®ããã©ãŒãã³ã¹ãåäžããŸãã æ¬¡ã®ã¯ãšãªã䜿çšããŠããœãŒã¹ãšã¿ãŒã²ããã®ãªããžã§ã¯ããæ¯èŒã§ããŸãã Db2 LUW Query PostgreSQL Query select tab . tabschema as schema_name , count ( tab . tabname ) as mq_count from syscat . tables tab where tab . type = 'S' and tab . tabschema not like 'SYS%' group by tab . tabschema order by tab . tabschema ; SQL select schemaname , count ( * ) as mq_count from pg_matviews where schemaname NOT IN ( 'information_schema' , 'pg_catalog' , 'public' , 'aws_db2_ext' , 'aws_db2_ext_data' ) group by schemaname ; SQL Db2 LUW example output: PostgreSQL example output: 詳现ã¬ãã«ã®æ
å ±ã«ã€ããŠã¯ã以äžã®ã¯ãšãªã䜿çšããŠãã ããã Db2 LUW Query PostgreSQL Query select tabschema as schema_name , tabname as MQ_NAME from syscat . tables where type = 'S' and tabschema not like 'SYS%' ; SQL select schemaname , matviewname as mq_name from pg_matviews where schemaname NOT IN ( 'information_schema' , 'pg_catalog' , 'public' , 'aws_db2_ext' , 'aws_db2_ext_data' ) ; SQL Db2 LUW example output: PostgreSQL example output: ãœãŒã¹ããŒã¿ããŒã¹ãšã¿ãŒã²ããããŒã¿ããŒã¹éã®ãããªã¢ã©ã€ãºãã¯ãšãªããŒãã«ãšãããªã¢ã©ã€ãºããã¥ãŒã®æ°ãšè©³çްã確èªããéããããã°ãããã€ãã°ã«åºã¥ããŠèª¿æ»ããŠä¿®æ£ããå¿
èŠããããŸãã ãŠãŒã¶ãŒå®çŸ©ããŒã¿å AWS SCT ã¯ã«ã¹ã¿ã ããŒã¿ã¿ã€ãã Db2 LUW ãã PostgreSQL ã« ã¿ã€ã ãšããŠç§»è¡ããŸããæ¬¡ã®ã¯ãšãªã䜿çšããŠããœãŒã¹ãšã¿ãŒã²ããã®ãªããžã§ã¯ããæ¯èŒã§ããŸãã Db2 LUW Query PostgreSQL Query select typeschema as schema_name , count ( * ) as udt_count from SYSCAT . DATATYPES where typeschema not like 'SYS%' group by typeschema ; SQL SELECT n . nspname , count ( * ) as udt_count FROM pg_catalog . pg_type t JOIN pg_catalog . pg_namespace n ON n . oid = t . typnamespace WHERE ( t . typrelid = 0 OR ( SELECT c . relkind = 'c' FROM pg_catalog . pg_class c WHERE c . oid = t . typrelid ) ) AND NOT EXISTS ( SELECT 1 FROM pg_catalog . pg_type el WHERE el . oid = t . typelem AND el . typarray = t . oid ) AND n . nspname NOT IN ( 'information_schema' , 'pg_toast' , 'aws_commons' , 'pg_catalog' , 'public' , 'aws_db2_ext' , 'aws_db2_ext_data' ) group by n . nspname order by n . nspname ; SQL Db2 LUW example output: PostgreSQL example output: ãœãŒã¹ããŒã¿ããŒã¹ãšã¿ãŒã²ããããŒã¿ããŒã¹éã®ãŠãŒã¶ãŒå®çŸ©åã®æ°ãšè©³çްã確èªããéããããã°ãããã€ãã°ã«åºã¥ããŠèª¿æ»ããŠä¿®æ£ããå¿
èŠããããŸãã ããªã¬ãŒ ããªã¬ãŒ ã¯ãããŒã¿ããŒã¹ã®ç£æ»ãããžãã¹ã«ãŒã«ã®å®è£
ãåç
§æŽåæ§ã®å®è£
ã«åœ¹ç«ã¡ãŸãã ãŸããé©åãªé åã§ã®äœ¿çšç¶æ³ã«ãã£ãŠã¯ãããã©ãŒãã³ã¹ã«åœ±é¿ãäžããããšããããŸãã 以äžã®ã¯ãšãªã§ã¯ããœãŒã¹ããŒã¿ããŒã¹ãšã¿ãŒã²ããããŒã¿ããŒã¹ã®äž¡æ¹ã®ããªã¬ãŒã®æ°ãšè©³çްãããããŸãã Db2 LUW Query PostgreSQL Query select tabschema as table_schema , count ( trigname ) as trigger_count From syscat . triggers t where tabschema not like 'SYS%' group by tabschema order by tabschema ; SQL SELECT trigger_schema AS SchemaName , Count ( trigger_name ) AS TriggerCount FROM information_schema . TRIGGERS WHERE trigger_schema NOT IN ( 'aws_db2_ext' , 'aws_db2_ext_data' , 'pg_catalog' ) GROUP BY trigger_schema ORDER BY trigger_schema ; SQL Db2 LUW example output: PostgreSQL example output: 詳现ã¬ãã«ã®æ
å ±ã«ã€ããŠã¯ã以äžã®ã¯ãšãªã䜿çšããŠãã ããã Db2 LUW Query PostgreSQL Query select tabschema as table_schema , trigname as trigger_name , tabname as table_name , case trigtime when 'B' then 'before' when 'A' then 'after' when 'I' then 'instead of' end as activation , rtrim ( case when eventupdate = 'Y' then 'update ' else '' end || case when eventdelete = 'Y' then 'delete ' else '' end || case when eventinsert = 'Y' then 'insert ' else '' end ) as event from syscat . triggers t where tabschema not like 'SYS%' order by table_name , trigger_name ; SQL SELECT trigger_schema AS TriggerSchemaName , trigger_name , event_object_schema AS TableSchema , event_object_table AS TableName , event_manipulation AS TriggerType FROM information_schema . TRIGGERS WHERE trigger_schema NOT IN ( 'aws_db2_ext' , 'aws_db2_ext_data' , 'pg_catalog' ) ORDER BY trigger_schema , trigger_name ; SQL Db2 LUW example output: PostgreSQL example output: Db2 LUW ãš PostgreSQL ã®éã®ããªã¬ãŒæ°ã¯ãPostgreSQL ã§ã®ããªã¬ãŒã® å®è£
æ¹æ³ ã«ãã£ãŠç°ãªãå ŽåããããŸãã ãœãŒã¹ããŒã¿ããŒã¹ãšã¿ãŒã²ããããŒã¿ããŒã¹éã®ããªã¬ãŒã®æ°ãšè©³çްã確èªããå¿
èŠããããŸããçžéç¹ãããå Žåã¯ãæ¢ç¥ã®çç±ã«ãããã®ãããããã€ã¡ã³ããã°ã«åºã¥ããŠèª¿æ»ããŠä¿®æ£ããå¿
èŠããããŸãã ã·ãŒã±ã³ã¹ ã·ãŒã±ã³ã¹ã¯ãæå®ããç¯å²ãšé åºã«åºã¥ããŠåã®æŽæ°å€ãäœæãããå¢ããã®ã«åœ¹ç«ã¡ãŸãã ID åãšã¯ç°ãªããã·ãŒã±ã³ã¹ã¯ç¹å®ã®ããŒãã«ã«é¢é£ä»ããããŸããã ã¢ããªã±ãŒã·ã§ã³ã¯ã·ãŒã±ã³ã¹ãªããžã§ã¯ããåç
§ããŠæ¬¡ã®å€ãååŸããŸãã ã·ãŒã±ã³ã¹ãšããŒãã«ã®é¢ä¿ã¯ã¢ããªã±ãŒã·ã§ã³ã«ãã£ãŠå¶åŸ¡ãããŸãã ãŠãŒã¶ãŒã¢ããªã±ãŒã·ã§ã³ã¯ã·ãŒã±ã³ã¹ãªããžã§ã¯ããåç
§ããè€æ°ã®è¡ãããŒãã«ã«ããã£ãŠå€ã調æŽã§ããŸãã 以äžã®ã¯ãšãªã¯ããœãŒã¹ããŒã¿ããŒã¹ãšã¿ãŒã²ããããŒã¿ããŒã¹ã«ããã·ãŒã±ã³ã¹ã®æ°ãšè©³çްã¬ãã«ã®æ
å ±ãååŸããã®ã«åœ¹ç«ã¡ãŸãã Db2 LUW Query PostgreSQL Query select SEQSCHEMA , count ( * ) as seq_count from syscat . sequences where SEQSCHEMA not like 'SYS%' and OWNERTYPE = 'U' and SEQTYPE = 'S' group by SEQSCHEMA order by SEQSCHEMA ; SQL select n . nspname as schema_namee , count ( * ) as seq_count from pg_sequence seq join pg_class seqc on seq . seqrelid = seqc . oid join pg_namespace n on seqc . relnamespace = n . oid where n . nspname NOT IN ( 'pg_catalog' , 'information_schema' , 'aws_db2_ext' , 'aws_db2_ext_data' , 'aws_commons' , 'db2inst1' , 'aws_lambda' , 'public' ) group by n . nspname order by n . nspname ; SQL Db2 LUW example output: PostgreSQL example output: 詳现ã¬ãã«ã®æ
å ±ã«ã€ããŠã¯ã以äžã䜿çšããŠãã ããã Db2 LUW Query PostgreSQL Query select SEQSCHEMA , SEQNAME , CYCLE , ORDER , CACHE from syscat . sequences where SEQSCHEMA not like 'SYS%' and OWNERTYPE = 'U' and SEQTYPE = 'S'; SQL select n . nspname as schema_namee , seqc . relname as seqname , seqcycle as cycle , seqcache as cache from pg_sequence seq join pg_class seqc on seq . seqrelid = seqc . oid join pg_namespace n on seqc . relnamespace = n . oid where n . nspname NOT IN ( 'pg_catalog' , 'information_schema' , 'aws_db2_ext' , 'aws_db2_ext_data' , 'aws_commons' , 'db2inst1' , 'aws_lambda' , 'public' ) order by n . nspname , seqc . relname ; SQL Db2 LUW example output: PostgreSQL example output: ãœãŒã¹ãšã¿ãŒã²ããã®éã®ã·ãŒã±ã³ã¹ã®æ°ãšè©³çްã確èªããå¿
èŠããããŸãããç§»è¡åŸã«ã·ãŒã±ã³ã¹ãæ£ããå€ã« èšå®ãã ããšãéèŠã§ãã ã·ãŒã±ã³ã¹ããœãŒã¹ããŒã¿ããŒã¹ããã¿ãŒã²ããããŒã¿ããŒã¹ã«ç§»è¡ããåŸã¯ãã·ãŒã±ã³ã¹ã® minvalue ããå§ãŸããããæ¿å
¥æãæŽæ°æã®å®è¡äžã«éè€ããŒãšã©ãŒãçºçããå¯èœæ§ããããŸãã ããã·ãŒãžã£ Db2 LUW ã¹ãã¢ãããã·ãŒãžã£ã¯ãããžãã¹ããžãã¯ãã«ãã»ã«åããé¢é£ãã DDL ãŸã㯠DML æäœãåäžã®äœæ¥åäœã§å®è¡ããŸãã PostgreSQL ã§ã¯ã ããã·ãŒãžã£ ã®å¶éã«ãããã¹ãã¢ãããã·ãŒãžã£ããã 颿° ã䜿çšããŸãããã®æ°ã¯ããœãŒã¹ããŒã¿ããŒã¹å
ã®æ¢åã®é¢æ°æ°ã«å ç®ãããŸãã ãœãŒã¹ããŒã¿ããŒã¹ãšã¿ãŒã²ããããŒã¿ããŒã¹ã®äž¡æ¹ã§ã次ã®ã¯ãšãªã¯ããã·ãŒãžã£ã®æ°ãšè©³çްã¬ãã«ã®æ
å ±ãæäŸããŸãã Db2 LUW Query PostgreSQL Query select routineschema as schema_name , count ( * ) as proc_count from syscat . routines where routinetype = 'P' and routineschema not like 'SYS%' and routineschema not like 'SQLJ%' group by routineschema order by routineschema ; SQL SELECT n . nspname AS SchemaName , Count ( p . proname ) AS procCount FROM pg_proc p join pg_namespace n ON p . pronamespace = n . oid WHERE n . nspname NOT IN ( 'pg_catalog' , 'information_schema' , 'aws_db2_ext' , 'aws_db2_ext_data' , 'aws_commons' , 'db2inst1' , 'aws_lambda' , 'public' ) AND p . prokind = 'p' GROUP BY n . nspname ORDER BY n . nspname ; SQL Db2 LUW example output: PostgreSQL example output: 詳现ã¬ãã«ã®æ
å ±ã«ã€ããŠã¯ã以äžã®ã¯ãšãªã䜿çšããŠãã ããã Db2 LUW Query PostgreSQL Query select routineschema as schema_name , routinename as procedure_name from syscat . routines where routinetype = 'P' and routineschema not like 'SYS%' and routineschema not like 'SQLJ%' order by schema_name , procedure_name ; SQL SELECT n . nspname AS SchemaName , p . proname AS function_name FROM pg_proc p join pg_namespace n ON p . pronamespace = n . oid WHERE n . nspname NOT IN ( 'pg_catalog' , 'information_schema' , 'aws_db2_ext' , 'aws_db2_ext_data' , 'aws_commons' , 'db2inst1' , 'aws_lambda' , 'public' ) AND p . prokind = 'p' GROUP BY n . nspname , p . proname ORDER BY n . nspname , p . proname ; SQL Db2 LUW example output: PostgreSQL example output: 颿° Db2 LUW ã§ã¯ã颿°ã¯å
¥åãã©ã¡ãŒã¿ã«ç¹å®ã®ããžãã¹ããžãã¯ãŸãã¯æ©èœããžãã¯ãå®è£
ããç¹å®ã®çš®é¡ã®å®çŸ©æžã¿åºåãè¿ããŸãã PostgreSQL ã§ã¯ãããžãã¹ããžãã¯ãšãã¡ã³ã¯ã·ã§ãã«ããžãã¯ã®å®è£
ã«é¢æ°ã奜ãŸããããããã®æ°ã¯éåžž Db2 LUW ãããå€ããªããŸãïŒè𳿳šïŒ PostgreSQL ã§ã¯ã颿°ã䜿ã£ãŠããžãã¯å®è£
ãããããšã Db2 ãšæ¯èŒãããšå€ãããã§ã SCT ã®å€ææ©èœã«ãã颿°ã®æ°ãå¢ããããã§ã¯ãããŸããïŒããœãŒã¹ããŒã¿ããŒã¹ãšã¿ãŒã²ããããŒã¿ããŒã¹ã®äž¡æ¹ã§ã以äžã®ã¯ãšãªã¯é¢æ°ã®æ°ãšè©³çްã¬ãã«ã®æ
å ±ãæäŸããŸãã Db2 LUW Query PostgreSQL Query select routineschema as schema_name , count ( * ) as func_count from syscat . routines where routinetype = 'F' and routineschema not like 'SYS%' and routineschema not like 'SQLJ%' group by routineschema order by routineschema ; SQL SELECT n . nspname AS SchemaName , Count ( p . proname ) AS func_Count FROM pg_proc p join pg_namespace n ON p . pronamespace = n . oid WHERE n . nspname NOT IN ( 'pg_catalog' , 'information_schema' , 'aws_db2_ext' , 'aws_db2_ext_data' , 'aws_commons' , 'db2inst1' , 'aws_lambda' , 'public' ) AND p . prokind = 'f' GROUP BY n . nspname ORDER BY n . nspname ; SQL Db2 LUW example output: PostgreSQL example output: 詳现ã¬ãã«ã®æ
å ±ã«ã€ããŠã¯ã以äžã®ã¯ãšãªã䜿çšããŠãã ããã Db2 LUW Query PostgreSQL Query select routineschema as schema_name , routinename as function_name from syscat . routines where routinetype = 'F' and routineschema not like 'SYS%' and routineschema not like 'SQLJ%' order by schema_name , function_name ; SQL SELECT n . nspname AS SchemaName , p . proname AS function_name FROM pg_proc p join pg_namespace n ON p . pronamespace = n . oid WHERE n . nspname NOT IN ( 'pg_catalog' , 'information_schema' , 'aws_db2_ext' , 'aws_db2_ext_data' , 'aws_commons' , 'db2inst1' , 'aws_lambda' , 'public' ) AND p . prokind = 'f' GROUP BY n . nspname , p . proname ORDER BY n . nspname , p . proname ; SQL Db2 LUW example output: PostgreSQL example output: æçšãª PostgreSQL ã«ã¿ãã°ããŒã㫠次ã®è¡šã¯ãããã€ãã®æçšãª Db2 LUW ãšãããã«å¯Ÿå¿ãã PostgreSQL ã·ã¹ãã ããã³ã«ã¿ãã°ã®ããŒãã«ãšãã¥ãŒããŸãšãããã®ã§ãã ãããã®ããŒãã«ãšãã¥ãŒã«ã¯ãããŒã¿ããŒã¹å
ã«ååšããããŸããŸãªãªããžã§ã¯ãã«é¢ããã¡ã¿ããŒã¿ãå«ãŸããŠãããããŒã¿ããŒã¹ãªããžã§ã¯ãã®æ€èšŒã«äœ¿çšãããŸãã Db2 LUW PostgreSQL Use Case syscat.tables/ syscat.columns pg_tables /information_schema.tables ããŸããŸãªããŒãã«ã®ãããã㣠syscat.tables/ syscat.columns Pg_views/information_schema.views ãã¥ãŒã®ããŸããŸãªãããã㣠syscat.tables/ syscat.tabconst/ syscat.references/ syscat.keycoluse pg_indexes/pg_index ã€ã³ããã¯ã¹ã«é¢ãã詳现æ
å ± syscat.routines pg_proc ããã·ãŒãžã£ã颿°ãããªã¬ãŒé¢æ°ã«é¢ãã詳现æ
å ± syscat.triggers information_schema.triggers ããªã¬ãŒã«é¢ãã詳现æ
å ± Syscat.sequences pg_sequence/information_schema.sequences ã·ãŒã±ã³ã¹ãIDãserialã«ã©ã ã«é¢ãã詳现æ
å ± Syscat.tables pg_matviews ãããªã¢ã©ã€ãºããã¥ãŒã®è©³çް syscat.datatypes pg_type ã«ã¹ã¿ã ããŒã¿åã«é¢ãã詳现æ
å ± PostgreSQL ã§ã¯ãµããŒããããŠããªããªããžã§ã¯ãã®æ±ã PostgreSQL ã§ãµããŒããããŠããªã Db2 LUW ãªããžã§ã¯ãã®ç§»è¡ã¯æåã§å®è¡ããå¿
èŠããããŸãã ãã®èšäºã§æäŸããã¯ãšãªã䜿çšãããšãç§»è¡ãããªããžã§ã¯ããç¹°ãè¿ãæ€èšŒããŠã®ã£ãããç¹å®ããããã«å¿ããŠä¿®æ£ã§ããŸãã ãŸãšã ãã®æçš¿ã§ã¯ãDb2 LUW ãš Aurora PostgreSQLããŸã㯠PostgreSQL ããŒã¿ããŒã¹çšã® RDS ã®ã¡ã¿ããŒã¿ã¯ãšãªã«ããããŒã¿ããŒã¹ãªããžã§ã¯ãã®æ€èšŒã«ã€ããŠèª¬æããŸããã ããŒã¿ããŒã¹ãªããžã§ã¯ãã®æ€èšŒã¯ãç§»è¡ã®æ£ç¢ºæ§ãè©³çŽ°ã«ææ¡ãããã¹ãŠã®ããŒã¿ããŒã¹ãªããžã§ã¯ããé©åã«ç§»è¡ããããã©ããã確èªããããã®éèŠãªã¹ãããã§ãã ãŸããããŒã¿ããŒã¹æ€èšŒãã§ãŒãºã§ã¯ãã¿ãŒã²ããããŒã¿ããŒã¹ã®æŽåæ§ã確èªããäŸåããã¢ããªã±ãŒã·ã§ã³ããã»ã¹ã®äºæ¥ç¶ç¶æ§ã確ä¿ããŸãã ãªããžã§ã¯ããèªå倿ããããæåã§å€æããããã«é¢ä¿ãªããæ©èœãã¹ãã ãã§ãªããŠããããã¹ããæ°åç¹°ãè¿ãå¿
èŠããããŸãã ããã«ãããã¢ããªã±ãŒã·ã§ã³ãšã®çµ±åãã¹ããè¡ãéã®å€ãã®ããçŽããçããŸãã ã³ã¡ã³ãã質åãããå Žåã¯ãç¥ãããã ããã ç§ãã¡ã¯çããã®ãã£ãŒãããã¯ã倧åã«ããŠããŸãïŒ ç¿»èš³ã¯ãœãªã¥ãŒã·ã§ã³ã¢ãŒããã¯ãã®å±±æ ¹ è±åœŠãæ
åœããŸãããåæã¯ ãã¡ã ã§ãã èè
ã«ã€ã㊠Sai Parthasaradhi 㯠AWS ãããã§ãã·ã§ãã«ãµãŒãã¹ã®ããŒã¿ããŒã¹ç§»è¡ã¹ãã·ã£ãªã¹ãã§ãã 圌ã¯ã客æ§ãšç·å¯ã«é£æºããŠãã客æ§ã AWS ã§ããŒã¿ããŒã¹ãç§»è¡ããææ°åã§ããããæ¯æŽããŠããŸãã Rakesh Raghav ã¯ãã€ã³ãã® AWS ãããã§ãã·ã§ãã«ãµãŒãã¹ã®äž»ä»»ããŒã¿ããŒã¹ã³ã³ãµã«ã¿ã³ãã§ãã客æ§ãã¯ã©ãŠãã®å°å
¥ãšç§»è¡ãæåããããæäŒããããŠããŸãã 圌ã¯ãã客æ§ã®ããŒã¿ããŒã¹ã®ã¯ã©ãŠããžã®ç§»è¡ãå éããã驿°çãªãœãªã¥ãŒã·ã§ã³ã®æ§ç¯ã«æ
ç±ã泚ãã§ããŸãã Veeranjaneyulu Grandhi ã¯ãAWSã®ããŒã¿ããŒã¹ã³ã³ãµã«ã¿ã³ãã§ãã 圌ã¯ã客æ§ãšååããŠãã¹ã±ãŒã©ãã«ã§å¯çšæ§ãé«ããå®å
šãªãœãªã¥ãŒã·ã§ã³ã AWS ã¯ã©ãŠãã§æ§ç¯ããŠããŸãã 圌ã®éç¹åéã¯ãåçš®ããŒã¿ããŒã¹ç§»è¡ãšç°çš®ããŒã¿ããŒã¹ç§»è¡ã§ãã