{"id":6756,"date":"2026-07-12T02:06:52","date_gmt":"2026-07-12T10:06:52","guid":{"rendered":"https:\/\/www.gudusoft.com\/postgresql-data-lineage\/"},"modified":"2026-07-12T02:06:52","modified_gmt":"2026-07-12T10:06:52","slug":"postgresql-data-lineage","status":"publish","type":"page","link":"https:\/\/www.gudusoft.com\/ko\/%ed%8f%ac%ec%8a%a4%ed%8a%b8%ea%b7%b8%eb%a0%88%ec%8a%a4-sql-%eb%8d%b0%ec%9d%b4%ed%84%b0-%ea%b3%84%eb%b3%b4\/","title":{"rendered":"PostgreSQL \ub370\uc774\ud130 \uacc4\ubcf4: \ubdf0 \ubc0f SQL\uc744 \uc0ac\uc6a9\ud55c \uc5f4 \uc218\uc900 \uacc4\ubcf4"},"content":{"rendered":"<p><strong>PostgreSQL \ub370\uc774\ud130 \uacc4\ubcf4<\/strong> PostgreSQL \ubdf0, CTE \ubc0f DML\uc744 \ud1b5\ud574 \ub370\uc774\ud130\uac00 \uc774\ub3d9\ud558\ub294 \ubc29\uc2dd\uc744 \uceec\ub7fc \uc218\uc900\uc5d0\uc11c \ubcf4\uc5ec\uc8fc\ub294 \ub9f5\uc785\ub2c8\ub2e4. \uc989, \uc5b4\ub5a4 \uae30\ubcf8 \ud14c\uc774\ube14 \uceec\ub7fc\uc774 \uac01 \ubdf0 \ub610\ub294 \ubcf4\uace0\uc11c \uceec\ub7fc\uc5d0 \ub370\uc774\ud130\ub97c \uc81c\uacf5\ud558\uace0, \uc5b4\ub5a4 \uc870\uc778, \ud544\ud130, \ud615\ubcc0\ud658 \ubc0f \uc9d1\uacc4\uac00 \ub370\uc774\ud130\ub97c \ubcc0\ud658\ud558\ub294\uc9c0 \ub098\ud0c0\ub0c5\ub2c8\ub2e4. PostgreSQL \uce74\ud0c8\ub85c\uadf8 \uc790\uccb4\uc5d0\uc11c\ub3c4 \uac1d\uccb4\ub4e4\uc774 \uc11c\ub85c \uc758\uc874\ud55c\ub2e4\ub294 \uac83\uc744 \uc54c\ub824\uc90d\ub2c8\ub2e4. <code>pg_depend<\/code> \ubdf0\uac00 \ud14c\uc774\ube14\uc744 \ucc38\uc870\ud55c\ub2e4\ub294 \uae30\ub85d\uc740 \uc788\uc9c0\ub9cc, \uc5f4\uc774 \uc5b4\ub5bb\uac8c \ubcc0\ud658\ub418\ub294\uc9c0\uc5d0 \ub300\ud55c \uc815\ubcf4\ub294 \uc5c6\uc2b5\ub2c8\ub2e4. \uc9c4\uc815\ud55c \uacc4\ubcf4\ub97c \uad6c\ucd95\ud558\ub824\uba74 SQL \uc790\uccb4\ub97c \ubd84\uc11d\ud574\uc57c \ud558\uba70, \ubc14\ub85c \uadf8\uac83\uc774 \uc774 \uc791\uc5c5\uc758 \ud575\uc2ec\uc785\ub2c8\ub2e4. <strong>Gudu SQLFlow<\/strong> \uc77c\ubc18\uc801\uc778 ANSI \ubb38\ubc95 \ub300\uc2e0 PostgreSQL \ubc29\uc5b8 \ud30c\uc11c\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<div class=\"wp-block-group alignfull has-background is-layout-constrained\" style=\"background-color:#eef7fb;padding-top:24px;padding-bottom:24px\"><div class=\"wp-block-group__inner-container\">\n\n<p><strong>30\ucd08 \uc548\uc5d0 \uc2dc\ub3c4\ud574 \ubcf4\uc138\uc694:<\/strong> PostgreSQL \ucffc\ub9ac \ub610\ub294 \ubdf0 \uc815\uc758\ub97c \uc5ec\uae30\uc5d0 \ubd99\uc5ec\ub123\uc73c\uc138\uc694. <a href=\"https:\/\/sqlflow.gudusoft.com\/?utm_source=gudusoft&amp;utm_medium=website&amp;utm_campaign=postgresql-data-lineage\" target=\"_blank\" rel=\"noreferrer noopener\">\ubb34\ub8cc SQLFlow \uacc4\ubcf4 \uc2dc\uac01\ud654 \ub3c4\uad6c<\/a> \uc5f4 \uc218\uc900\uc758 \uc0c1\ud638 \uc791\uc6a9 \uac00\ub2a5\ud55c \uacc4\ubcf4\ub3c4\ub97c \uc5bb\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ud074\ub77c\uc6b0\ub4dc \ubc84\uc804\uc740 \ubb34\ub8cc \ud2f0\uc5b4\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/p>\n\n<\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">pg_depend\uac00 \uacc4\ubcf4 \uad00\ub828 \uc9c8\ubb38\uc5d0 \ub2f5\ud560 \uc218 \uc5c6\ub294 \uc774\uc720\ub294 \ubb34\uc5c7\uc778\uac00\uc694?<\/h2>\n\n\n\n<p>PostgreSQL\uc740 \uc138\ubd80\uc801\uc778 \uc885\uc18d\uc131 \uae30\ub85d\uc744 \uc720\uc9c0\ud569\ub2c8\ub2e4. <code>pg_depend<\/code> \uadf8\ub9ac\uace0 <code>pg_rewrite<\/code> \uadf8\uac83\uc744 \uc54c\uace0 \uc788\ub2e4 <code>v_\uc9c0\uc5ed_\uc218\uc775<\/code> \ucc38\uc870\ud558\ub294 \ub3d9\uc548\uc5d0\ub294 \uc0ad\uc81c\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. <code>v_orders_enriched<\/code>, \uadf8\ub9ac\uace0 <code>\uc815\ubcf4 \uc2a4\ud0a4\ub9c8<\/code> \ubdf0\ub294 \ud574\ub2f9 \ubdf0\uac00 \uc5b4\ub5a4 \ud14c\uc774\ube14\uc5d0 \uc811\uadfc\ud558\ub294\uc9c0 \ubcf4\uc5ec\uc90d\ub2c8\ub2e4. \uc774\ub294 \uac1d\uccb4 \uc218\uc900\uc758 \uc885\uc18d\uc131 \ucd94\uc801 \uae30\ub2a5\uc73c\ub85c, \ub2e4\uc74c\uacfc \uac19\uc740 \ubaa9\uc801\uc73c\ub85c \uac1c\ubc1c\ub418\uc5c8\uc2b5\ub2c8\ub2e4. <code>\ub4dc\ub86d... \uce90\uc2a4\ucf00\uc774\ub4dc<\/code> \ud608\ud1b5\uc774 \uc544\ub2cc \uc548\uc804.<\/p>\n\n\n\n<p>\uce74\ud0c8\ub85c\uadf8\uc5d0\uc11c \uc54c \uc218 \uc5c6\ub294 \uac83: \uc5b4\ub5a4 \ud2b9\uc815 \uc5f4\uc774 \uc5b4\ub5a4 \ubc29\uc2dd\uc73c\ub85c \uacf5\uae09\ub418\ub294\uc9c0 <code>\uc218\uc775<\/code>, \uc774\ub4e0 <code>\uc591<\/code> \ub3c4\uc911\uc5d0 \uc8fc\uc870\ub418\uc5c8\uac70\ub098 \uc9d1\ud569\ub418\uc5c8\ub294\uc9c0 \uc5ec\ubd80 <code>\uc0c1\ud0dc<\/code> \uacb0\uacfc\uc5d0 \ub098\ud0c0\ub098\uc9c0 \uc54a\uc73c\uba74\uc11c \uacb0\uacfc\ub97c \ud544\ud130\ub9c1\ud558\ub294 \ubc29\ubc95\uacfc \ubdf0\uac00 3~4\ub2e8\uacc4 \uae4a\uc774\ub85c \uc313\uc77c \ub54c \uc804\uccb4 \uacbd\ub85c\uac00 \uc5b4\ub5bb\uac8c \ub418\ub294\uc9c0 \uc54c\uc544\uc57c \ud569\ub2c8\ub2e4. &quot;\uc774 \uc22b\uc790\ub294 \uc5b4\ub514\uc5d0\uc11c \uc628 \uac83\uc778\uac00?&quot; \ub610\ub294 &quot;\uc774 \uc5f4\uc744 \uc0ad\uc81c\ud558\uba74 \uc5b4\ub5a4 \ubb38\uc81c\uac00 \ubc1c\uc0dd\ud558\ub294\uac00?&quot;\uc640 \uac19\uc740 \uc9c8\ubb38\uc5d0 \ub2f5\ud558\ub824\uba74 \ubdf0 \uc815\uc758\uc5d0 \uc800\uc7a5\ub41c SQL \ud14d\uc2a4\ud2b8\uc5d0\uc11c \ubcc0\ud658 \ub85c\uc9c1\uc744 \uc7ac\uad6c\uc131\ud574\uc57c \ud569\ub2c8\ub2e4. \uc774\ub294 \uce74\ud0c8\ub85c\uadf8 \ucffc\ub9ac\uac00 \uc544\ub2c8\ub77c \uad6c\ubb38 \ubd84\uc11d \ubb38\uc81c\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">SQLFlow\ub294 PostgreSQL \ub370\uc774\ud130 \uacc4\ubcf4\ub97c \uc5b4\ub5bb\uac8c \uad6c\ucd95\ud560\uae4c\uc694?<\/h2>\n\n\n\n<ol><li><strong>SQL\uc744 \uc218\uc9d1\ud569\ub2c8\ub2e4.<\/strong> \ucffc\ub9ac\ub97c \ubd99\uc5ec\ub123\uace0, \uc2a4\ud06c\ub9bd\ud2b8 \ud30c\uc77c\uc744 \uc5c5\ub85c\ub4dc\ud558\uace0, JDBC\ub97c \ud1b5\ud574 PostgreSQL\uc5d0 \uc5f0\uacb0\ud558\uc5ec DDL\uacfc \ubdf0 \uc815\uc758\ub97c \uc9c1\uc811 \uac00\uc838\uc624\uac70\ub098, dbt-on-Postgres \ud504\ub85c\uc81d\ud2b8\ub97c \uc704\ud574 dbt \ub9e4\ub2c8\ud398\uc2a4\ud2b8\ub97c \uac00\uc838\uc62c \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<li><strong>PostgreSQL \uc804\uc6a9 \ubb38\ubc95\uc744 \uc0ac\uc6a9\ud558\uc5ec \uad6c\ubb38 \ubd84\uc11d\ud569\ub2c8\ub2e4.<\/strong> SQLFlow\ub294 \ub2e4\uc74c\uc744 \uae30\ubc18\uc73c\ub85c \uad6c\ucd95\ub418\uc5c8\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/www.sqlparser.com\/\">\uc77c\ubc18 SQL \ud30c\uc11c(GSP)<\/a>, a commercial SQL compiler front-end developed since the mid-2000s and validated against roughly 13,600 per-dialect test fixtures. Its PostgreSQL parser handles the dialect&#8217;s own constructs \u2014 writable CTEs, <code>\ucda9\ub3cc \uc2dc \uc0bd\uc785...<\/code>, \uadf8 <code>::<\/code> \ud615\ubcc0\ud658 \uc5f0\uc0b0\uc790, \uc0c1\uc18d \ubc0f \ud30c\ud2f0\uc154\ub2dd DDL \u2014 \uadf8\ub9ac\uace0 \uadf8 \uc758\ubbf8\ub860\uc801 \ud574\uc11d\uae30\uac00 \ud655\uc7a5\ub429\ub2c8\ub2e4 <code>\uc120\ud0dd\ud558\ub2e4 *<\/code>\uc774 \uae30\ub2a5\uc740 CTE, \ud558\uc704 \ucffc\ub9ac \ubc0f \ubdf0 \uc815\uc758\ub97c \ud1b5\ud574 \uc5f4 \ucc38\uc870\ub97c \ud574\uacb0\ud55c \ub2e4\uc74c \uc5f4 \ub2e8\uc704\ub85c \uc18c\uc2a4-\ub300\uc0c1 \uad00\uacc4\ub97c \ucd94\ucd9c\ud569\ub2c8\ub2e4.<\/li>\n<li><strong>\uc2dc\uac01\ud654\ud558\uace0 \ub0b4\ubcf4\ub0b4\uae30.<\/strong> \ucd9c\ub825 \uacb0\uacfc\ub294 \ubaa8\ub4e0 \uc5f4\uc5d0\uc11c \uc0c1\uc704 \ubc0f \ud558\uc704 \uacbd\ub85c\ub97c \ucd94\uc801\ud560 \uc218 \uc788\ub294 \ub300\ud654\ud615 \ub2e4\uc774\uc5b4\uadf8\ub7a8\uc774\uba70, JSON, CSV \ub610\ub294 PNG \ud615\uc2dd\uc73c\ub85c \ub0b4\ubcf4\ub0b4\uac70\ub098 REST API\ub97c \ud1b5\ud574 \ucffc\ub9ac\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li><\/ol>\n\n\n\n<p>PostgreSQL\uc740 SQLFlow\uc5d0\uc11c \ud30c\uc11c\ub97c \uc81c\uacf5\ud558\ub294 39\uac1c \ubc29\uc5b8 \uc911 \ud558\ub098\uc785\ub2c8\ub2e4. \uc5ec\uae30\uc5d0\ub294 Greenplum, Amazon Redshift, EDB Postgres\uc640 \uac19\uc740 Postgres \uacc4\uc5f4 \uc5d4\uc9c4\uc774 \ud3ec\ud568\ub418\uba70, \uac01 \uc5d4\uc9c4\uc740 \ud575\uc2ec PostgreSQL\uacfc \uacc4\ubcf4 \uc5d4\uc9c4\uc5d0 \uc911\uc694\ud55c \ubc29\uc2dd\uc73c\ub85c \ucc28\uc774\uac00 \uc788\uae30 \ub54c\ubb38\uc5d0 \uac01\uac01 \uace0\uc720\ud55c \ud30c\uc11c\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4. \uc804\uccb4 \ubc29\ubc95\ub860\uc740 \ub2e4\uc74c\uc5d0\uc11c \ub2e4\ub8f9\ub2c8\ub2e4. <a href=\"https:\/\/www.gudusoft.com\/ko\/sql-%eb%8d%b0%ec%9d%b4%ed%84%b0-%ea%b3%84%eb%b3%b4-%eb%8f%84%ea%b5%ac\/\">SQL \ub370\uc774\ud130 \uacc4\ubcf4 \ub3c4\uad6c \uac1c\uc694<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc911\ucca9\ub41c \ubdf0 \uccb4\uc778\uc744 \uae30\ubcf8 \ud14c\uc774\ube14\uae4c\uc9c0 \ucd94\uc801\ud558\uae30<\/h2>\n\n\n\n<p>PostgreSQL\uc5d0\uc11c \ub85c\uc9c1\uc774 \ub204\uc801\ub418\ub294 \uae30\ubcf8 \ubc29\uc2dd\uc740 \ubdf0-\uc628-\ubdf0 \uc2a4\ud0dd\uc774\uba70, \uc218\ub3d9 \uacc4\ubcf4 \ucd94\uc801\uc774 \ud55c\uacc4\uc5d0 \ub3c4\ub2ec\ud558\ub294 \uc9c0\uc810\uc774\uae30\ub3c4 \ud569\ub2c8\ub2e4. 2\ub2e8\uacc4 \uccb4\uc778\uc744 \uc608\ub85c \ub4e4\uc5b4 \ubcf4\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CREATE VIEW v_orders_enriched AS SELECT o.order_id, o.customer_id, o.amount::numeric(12,2) AS amount, c.region FROM orders o JOIN customers c ON c.customer_id = o.customer_id WHERE o.status = &#039;shipped&#039;; CREATE VIEW v_region_revenue AS SELECT region, SUM(amount) AS revenue FROM v_orders_enriched GROUP BY region;<\/code><\/pre>\n\n\n\n<p>SQLFlow\uc5d0 \ubb38\uc758\ud558\uc138\uc694 <code>v_\uc9c0\uc5ed_\uc218\uc775.\uc218\uc775<\/code> \ub2e4\uc74c\uc5d0\uc11c \uc720\ub798\ud558\uba70 \uc804\uccb4 \uccb4\uc778\uc744 \ud574\uacb0\ud569\ub2c8\ub2e4. <code>\uc218\uc775<\/code> ~\uc774\ub2e4 <code>\ud569\uc9d1\ud569()<\/code> ~ \uc704\uc5d0 <code>v_orders_enriched.amount<\/code>\uc774\uac83\uc740 <code>\uc22b\uc790(12,2)<\/code> \ucd9c\uc5f0\uc9c4 <code>\uc8fc\ubb38 \uae08\uc561<\/code>\uc774 \ub2e4\uc774\uc5b4\uadf8\ub7a8\uc740 \uae30\ubcf8 \ud14c\uc774\ube14, \uc911\uac04 \ubcf4\uae30, \uc9d1\uacc4 \ub4f1 \uac01 \ub2e8\uacc4\ub97c \ud3c9\uba74\uc801\uc778 \ucd94\uce21\uc774 \uc544\ub2cc, \uc790\uc138\ud788 \uc0b4\ud3b4\ubcfc \uc218 \uc788\ub294 \uacbd\ub85c\ub85c \ubcf4\uc5ec\uc90d\ub2c8\ub2e4. \ub610\ud55c, \ub2e8\uc21c\ud55c \ud574\uc11d\uc73c\ub85c\ub294 \ub193\uce60 \uc218 \uc788\ub294 \ubd80\ubd84\uc744 \uba85\ud655\ud788 \ub4dc\ub7ec\ub0c5\ub2c8\ub2e4. <code>\uc8fc\ubb38 \uc0c1\ud0dc<\/code> \ucd9c\ub825 \uacb0\uacfc\uc5d0\ub294 \uc804\ud600 \ub098\ud0c0\ub098\uc9c0 \uc54a\uc9c0\ub9cc \ubaa8\ub4e0 \uc218\uc775 \uc218\uce58\ub294 \uc774\uc5d0 \ub530\ub77c \ub2ec\ub77c\uc9d1\ub2c8\ub2e4. <code>o.status\uac00 &#039;shipped&#039;\uc778 \uacbd\uc6b0<\/code> \ud544\ud130. SQLFlow\ub294 \uc774\ub97c \uac04\uc811 \uacc4\ubcf4\ub85c \uae30\ub85d\ud569\ub2c8\ub2e4(\uc790\uc138\ud55c \ub0b4\uc6a9\uc740 \uc544\ub798 \ucc38\uc870).<\/p>\n\n\n\n<p>\uc5b4\ub5a4 \uae4a\uc774\uc5d0\uc11c\ub3c4 \ub3d9\uc77c\ud55c \ud574\uc0c1\ub3c4\uac00 \uc801\uc6a9\ub429\ub2c8\ub2e4. \ubdf0\uac00 5\ub2e8\uacc4 \uae4a\uc774\ub85c \uc313\uc774\uace0 \uadf8\uc911 \uc808\ubc18\uc774 \uc774 \ud574\uc0c1\ub3c4\ub97c \uc0ac\uc6a9\ud558\ub294 \uc2e4\uc81c \uc2a4\ud0a4\ub9c8\uc5d0\uc11c\ub3c4 \ub9c8\ucc2c\uac00\uc9c0\uc785\ub2c8\ub2e4. <code>\uc120\ud0dd\ud558\ub2e4 *<\/code>SQLFlow\ub294 JDBC\ub97c \ud1b5\ud574 \uac00\uc838\uc628 \uc2e4\uc81c \ud14c\uc774\ube14 \uc815\uc758\ub97c \uae30\uc900\uc73c\ub85c \ubcc4\ud45c\ub97c \ud655\uc7a5\ud558\ubbc0\ub85c SQL \ud14d\uc2a4\ud2b8\uc5d0 \uc5f4 \uc774\ub984\uc774 \uc5c6\ub354\ub77c\ub3c4 \uc5f4\ubcc4 \uc815\ud655\ud55c \uacc4\ubcf4\ub97c \uc720\uc9c0\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc77c\ubc18 \ud30c\uc11c\ub97c \ubb34\ub825\ud654\uc2dc\ud0a4\ub294 PostgreSQL \uad6c\ubb38<\/h2>\n\n\n\n<p>PostgreSQL\uc744 &quot;\ub300\ub7b5 ANSI SQL&quot;\ub85c \ucde8\uae09\ud558\ub294 \ub3c4\uad6c\ub294 \ub370\uc774\ud130 \ud750\ub984\uc774 \uac00\uc7a5 \ub9ce\uc740 \uad6c\ubb38\uc5d0\uc11c \uc815\ud655\ud788 \uc624\ub958\ub97c \ubc1c\uc0dd\uc2dc\ud0b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uad6c\ubb38\uc740 \ubaa8\ub450 SQLFlow\uc758 PostgreSQL \ubc29\uc5b8 \ud30c\uc11c\uc5d0\uc11c \ucc98\ub9ac\ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>\uac74\uc124\ud558\ub2e4<\/th><th>\ud608\ud1b5\uc5d0 \uc911\uc694\ud55c \uc774\uc720<\/th><\/tr><\/thead><tbody>\n<tr><td>\uc4f0\uae30 \uac00\ub2a5\ud55c CTE(<code>... \uc0bd\uc785\/\uc5c5\ub370\uc774\ud2b8\/\uc0ad\uc81c ... \ubc18\ud658<\/code>)<\/td><td>\ub2e8\uc77c \uba85\ub839\ubb38\uc73c\ub85c \uc77d\uae30\uc640 \uc4f0\uae30 \uc791\uc5c5\uc744 \ubaa8\ub450 \uc218\ud589\ud569\ub2c8\ub2e4. CTE\uc758 DML \ucd9c\ub825\uc740 \uc678\ubd80 \ucffc\ub9ac\uc5d0 \uc804\ub2ec\ub429\ub2c8\ub2e4. \ub370\uc774\ud130 \uacc4\ubcf4\ub294 \uc218\uc815\ub41c \ud14c\uc774\ube14\uacfc \uc5f0\uacb0\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4. <code>\ub3cc\uc544\uc624\ub294 \uc911<\/code> \uc5ec\ub7ec \uc5f4\ub85c \ud45c\uc2dc\ud558\uace0 \ucd5c\uc885 \ubaa9\ud45c\ub97c \ud558\ub098\uc758 \uadf8\ub798\ud504\ub85c \ub098\ud0c0\ub0c5\ub2c8\ub2e4.<\/td><\/tr>\n<tr><td><code>\ucda9\ub3cc \ubc1c\uc0dd \uc2dc \uc5c5\ub370\uc774\ud2b8... \uc0bd\uc785<\/code><\/td><td>\uc5c5\uc11c\ud2b8(Upsert)\ub294 \ub370\uc774\ud130\ub97c \ub450 \uacbd\ub85c, \uc989 \uc0bd\uc785 \uacbd\ub85c\uc640 \uc5c5\ub370\uc774\ud2b8 \uacbd\ub85c\ub97c \ud1b5\ud574 \uc804\ub2ec\ud569\ub2c8\ub2e4. <code>\uc81c\uc678\ub41c<\/code> \uac00\uc0c1 \ud14c\uc774\ube14\uc785\ub2c8\ub2e4. \ub458 \ub2e4 \ub300\uc0c1 \ud14c\uc774\ube14\ub85c\uc758 \uc2e4\uc81c \uc5f4 \ud750\ub984\uc785\ub2c8\ub2e4.<\/td><\/tr>\n<tr><td>\ud14c\uc774\ube14 \uc0c1\uc18d \ubc0f \uc120\uc5b8\uc801 \ud30c\ud2f0\uc154\ub2dd<\/td><td>\ubd80\ubaa8 \ud14c\uc774\ube14\uc5d0 \ub300\ud55c \ucffc\ub9ac\ub294 \uc554\ubb35\uc801\uc73c\ub85c \uc790\uc2dd \ud14c\uc774\ube14\uc744 \uc77d\uc2b5\ub2c8\ub2e4. SQLFlow\ub294 \uc0c1\uc18d \ubc0f \ud30c\ud2f0\uc154\ub2dd DDL\uc744 \uad6c\ubb38 \ubd84\uc11d\ud558\uc5ec \ud30c\ud2f0\uc158\ubcc4\ub85c \ubd84\ud560\ub418\uc9c0 \uc54a\uace0 \ubd80\ubaa8 \uc218\uc900\uc5d0\uc11c \uc62c\ubc14\ub974\uac8c \uacc4\ubcf4\uac00 \uc5f0\uacb0\ub418\ub3c4\ub85d \ud569\ub2c8\ub2e4.<\/td><\/tr>\n<tr><td>\uc5f0\uacb0\ub41c CTE \ubc0f \uc911\ucca9 \ubdf0<\/td><td>\uceec\ub7fc \ucc38\uc870\ub294 \uc774\uc804 CTE\ub97c \ucc38\uc870\ud558\ub294 CTE\ub97c \ud3ec\ud568\ud558\uc5ec \ubaa8\ub4e0 \uc911\uac04 \uacc4\uce35\uc744 \uac70\uccd0 \ubb3c\ub9ac\uc801 \uae30\ubcf8 \ud14c\uc774\ube14\uae4c\uc9c0 \ud574\uacb0\ub418\uc5b4\uc57c \ud569\ub2c8\ub2e4.<\/td><\/tr>\n<tr><td><code>::<\/code> \uce90\uc2a4\ud305 \ubc0f \ud45c\ud604 \uce7c\ub7fc<\/td><td>\ubaa8\ub4e0 \ucd9c\ub825 \uc5f4\uc740 \uc801\uc6a9\ub41c \ud568\uc218\uc640 \ud615\ubcc0\ud658\uc744 \ud1b5\ud574 \ud574\ub2f9 \uc18c\uc2a4\uc5d0 \ub9e4\ud551\ub418\ubbc0\ub85c, \ub2e8\uc21c\ud788 \ucd9c\ub825 \uc5f4\ubfd0\ub9cc \uc544\ub2c8\ub77c \uc18c\uc2a4 \uc5f4\uc758 \uacb0\uacfc\ub3c4 \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <em>\uc5b4\ub514<\/em> \uc5b4\ub5a4 \uac12\uc774 \ub098\uc654\uc9c0\ub9cc <em>\uadf8\uac83\uc5d0 \ubb34\uc2a8 \uc77c\uc774 \uc77c\uc5b4\ub0ac\ub098\uc694?<\/em>.<\/td><\/tr>\n<\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\uc9c1\uc811 \ud608\ud1b5 vs. \uac04\uc811 \ud608\ud1b5: \ub193\uce60 \uc218 \uc788\ub294 \ud544\ud130 \uc5f4<\/h2>\n\n\n\n<p>SQLFlow\ub294 \uad6c\ubcc4\ud569\ub2c8\ub2e4 <strong>\uc9c1\uacc4 \ud608\ud1b5<\/strong> \u2014 \ucd9c\ub825\uc73c\ub85c \ubb3c\ub9ac\uc801\uc73c\ub85c \uc804\ub2ec\ub418\ub294 \uc5f4 \uac12 \u2014 \uc5d0\uc11c <strong>\uac04\uc811\uc801 (\uc601\ud5a5) \uacc4\ubcf4<\/strong> \u2014 \uc0ac\uc6a9\ub41c \uc5f4 <code>\uc5b4\ub514<\/code> \uc870\ud56d, <code>\uac00\uc785\ud558\ub2e4<\/code> \uc870\uac74 \ubc0f <code>\uadf8\ub8f9\ud654 \uae30\uc900<\/code> \uacb0\uacfc\uc5d0 \uc9c1\uc811\uc801\uc73c\ub85c \ub3c4\ub2ec\ud558\uc9c0 \uc54a\uace0 \uacb0\uacfc\ub97c \ud615\uc131\ud558\ub294 \ud0a4\uc785\ub2c8\ub2e4. \uc704 \uc608\uc2dc\uc5d0\uc11c, <code>\uc8fc\ubb38 \uae08\uc561<\/code> \uc9c1\uacc4 \ud608\ud1b5\uc785\ub2c8\ub2e4 <code>\uc218\uc775<\/code>; <code>\uc8fc\ubb38 \uc0c1\ud0dc<\/code> \uadf8\ub9ac\uace0 \ub458 \ub2e4 <code>\uace0\uac1d ID<\/code> \uc870\uc778 \ud0a4\ub294 \uac04\uc811\uc801\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\ub2e4\uc774\uc5b4\uadf8\ub7a8\uc5d0\uc11c \uc774 \uad6c\ubd84\uc740 \ud65c\uc131\ud654\/\ube44\ud65c\uc131\ud654\ud560 \uc218 \uc788\uc73c\uba70, \uc2e4\uc81c \uacb0\uc815\uc5d0 \uc601\ud5a5\uc744 \ubbf8\uce69\ub2c8\ub2e4. \ub3c4\uba54\uc778\uc744 \ubcc0\uacbd\ud558\ub824\ub294 \uacbd\uc6b0 <code>\uc8fc\ubb38 \uc0c1\ud0dc<\/code>\uc9c1\uc811 \uacc4\ubcf4\ub9cc \ubcf4\uc5ec\uc8fc\ub294 \ubc29\uc2dd\uc740 \uadf8 \uc5b4\ub5a4 \uac83\ub3c4 \uc758\uc874\ud558\uc9c0 \uc54a\ub294\ub2e4\uace0 \ub9d0\ud558\uc9c0\ub9cc, \uac04\uc811 \uacc4\ubcf4\ub294 \ud544\ud130\ub9c1\ub41c \ubaa8\ub4e0 \uc218\uc775 \ubcf4\uace0\uc11c\ub97c \ubcf4\uc5ec\uc90d\ub2c8\ub2e4. \ub300\ubd80\ubd84\uc758 \uacc4\ubcf4 \ub3c4\uad6c\ub294 \uc774\ub7ec\ud55c \uad00\uacc4 \uc720\ud615\uc744 \uc804\ud600 \ubaa8\ub378\ub9c1\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\ub2e8\uc77c \ucffc\ub9ac\ubd80\ud130 \uc804\uccb4 PostgreSQL \ud658\uacbd\uae4c\uc9c0<\/h2>\n\n\n\n<p>\ubcf5\uc7a1\ud55c \ubdf0 \uccb4\uc778 \ud558\ub098 \uc815\ub3c4\uc758 \uc791\uc5c5\uc5d0\ub294 SQLFlow Cloud \ubb34\ub8cc \ud2f0\uc5b4\uac00 \ucda9\ubd84\ud569\ub2c8\ub2e4. \ubd99\uc5ec\ub123\uae30, \ubd84\uc11d, \ub4dc\ub9b4\ub2e4\uc6b4 \uae30\ub2a5\ub9cc \uc788\uc73c\uba74 \ub418\uc8e0. \uadf8 \uc774\uc0c1\uc740 \ub2e4\ub985\ub2c8\ub2e4.<\/p>\n\n\n\n<ul><li><strong>\uc804\uccb4 \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uc2a4\uce94:<\/strong> JDBC\ub97c \ud1b5\ud574 \uc5f0\uacb0\ud558\uac70\ub098 Grabit \uba54\ud0c0\ub370\uc774\ud130 \ucd94\ucd9c\uae30\ub97c \uc0ac\uc6a9\ud558\uc5ec \ubaa8\ub4e0 \ubdf0\uc640 \uac1d\uccb4 \uc815\uc758\ub97c \uac00\uc838\uc640 \uc601\uad6c\uc801\uc778 \ub370\uc774\ud130 \uacc4\ubcf4 \uc800\uc7a5\uc18c\ub97c \uad6c\ucd95\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc5d4\ud130\ud504\ub77c\uc774\uc988 \ud658\uacbd\uc5d0\uc11c\ub294 100\uac1c \uc774\uc0c1\uc758 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc640 \ubc31\ub9cc \uac1c \uc774\uc0c1\uc758 \uc5f4\uc744 \ud3ec\ud568\ud558\ub294 \ub300\uaddc\ubaa8 \ud658\uacbd\uc744 \uc77c\uad04 \uc2a4\uce94\ud558\uace0, \ud544\uc694\uc5d0 \ub530\ub77c \uc99d\ubd84 \uc7ac\uc2a4\uce94\uc744 \uc218\ud589\ud569\ub2c8\ub2e4.<\/li>\n<li><strong>\uce74\ud0c8\ub85c\uadf8 \ud1b5\ud569:<\/strong> \ub0b4\ubcf4\ub0b4\uae30 \uc5b4\ub311\ud130\ub294 \uc5f4 \uc218\uc900\uc758 \uacc4\ubcf4 \uc815\ubcf4\ub97c DataHub, Microsoft Purview \ubc0f OpenMetadata\ub85c \ud478\uc2dc\ud558\ubbc0\ub85c SQLFlow\ub294 \uc774\ubbf8 \uc2e4\ud589 \uc911\uc778 \uce74\ud0c8\ub85c\uadf8\uc758 \uacc4\ubcf4 \uc5d4\uc9c4 \uc5ed\ud560\uc744 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<li><strong>\uacf5\uae30\uce35\uc774 \ubd84\ub9ac\ub41c \ud658\uacbd:<\/strong> <a href=\"https:\/\/www.gudusoft.com\/ko\/sqlflow-on-premise-%eb%b2%84%ec%a0%84\/\">\uc628\ud504\ub808\ubbf8\uc2a4 SQLFlow<\/a> Docker \ub610\ub294 Kubernetes \ud658\uacbd\uc5d0\uc11c \ub124\ud2b8\uc6cc\ud06c \ub0b4\uc5d0\uc11c \uc2e4\ud589\ub418\uba70, \uc6d4 $500 \ub610\ub294 \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uc720\ud615\ubcc4 \uc77c\ud68c\uc131 $4,800\uc758 \uc694\uae08\uc774 \ubd80\uacfc\ub429\ub2c8\ub2e4. \ucd5c\ub300 \ub450 \ub300\uc758 \uc11c\ubc84\uc5d0 \uc124\uce58 \uac00\ub2a5\ud558\uba70, SQL \ud14d\uc2a4\ud2b8\ub294 \uc778\ud504\ub77c \uc678\ubd80\ub85c \uc720\ucd9c\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/li>\n<li><strong>\uc124\uacc4 \ub2e8\uacc4\ubd80\ud130 \uac1c\uc778\uc815\ubcf4 \ubcf4\ud638\ub97c \uace0\ub824\ud558\uc138\uc694:<\/strong> SQLFlow\ub294 SQL \ucf54\ub4dc\uc640 \uc2a4\ud0a4\ub9c8 \uba54\ud0c0\ub370\uc774\ud130\uc5d0 \ub300\ud55c \uc815\uc801 \ubd84\uc11d\ub9cc \uc218\ud589\ud569\ub2c8\ub2e4. \ud14c\uc774\ube14\uc758 \ud589\uc740 \uc808\ub300 \uc77d\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/li><\/ul>\n\n\n\n<p>\ubc84\uc804 8.2.3\ubd80\ud130\ub294 \uacb0\uacfc \uadf8\ub798\ud504\ub97c \uc77c\ubc18\uc801\uc778 \uc601\uc5b4\ub85c \ucffc\ub9ac\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \uc989, &quot;\uc5b4\ub5a4 \ubdf0\uac00 \ub2e4\uc74c\uc5d0 \uc758\uc874\ud558\ub294\uc9c0&quot;\ub97c \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <code>\uc8fc\ubb38 \uae08\uc561<\/code>\ub2f5\ubcc0\uc758 \ubaa8\ub4e0 \ud45c\uc640 \uc5f4\uc740 \ubd84\uc11d\ub41c \uacc4\ubcf4\uc640 \ub300\uc870\ud558\uc5ec \uc720\ud6a8\uc131\uc744 \uac80\uc0ac\ud55c \ud6c4\uc5d0 \ud45c\uc2dc\ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc624\ud508\uc18c\uc2a4 PostgreSQL \ub370\uc774\ud130 \uacc4\ubcf4 \ub3c4\uad6c\ub294 \uc5b4\ub5bb\uc2b5\ub2c8\uae4c?<\/h2>\n\n\n\n<p>\uc624\ud508\uc18c\uc2a4 \ud30c\uc11c(\uc608: ...) <code>sqllineage<\/code> \uadf8\ub9ac\uace0 <code>sqlglot<\/code> \uac1c\ubcc4 \ucffc\ub9ac\uc5d0\uc11c \ud14c\uc774\ube14 \uc218\uc900 \ubc0f \uae30\ubcf8 \uc5f4 \uc218\uc900\uc758 \ub370\uc774\ud130 \uacc4\ubcf4\ub97c \ucd94\ucd9c\ud558\ub294 \ub370\ub294 \uc815\ub9d0 \ud0c1\uc6d4\ud558\uba70, \uba87 \uac1c\uc758 \uae54\ub054\ud55c SELECT \ubb38\uc5d0\ub294 \uadf8\uac83\ub9cc\uc73c\ub85c\ub3c4 \ucda9\ubd84\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ud558\uc9c0\ub9cc \uc2e4\uc81c \uc6b4\uc601 \ud658\uacbd\uc758 PostgreSQL\uc5d0\uc11c\ub294 \uc774\ub7ec\ud55c \ud55c\uacc4\uac00 \ub4dc\ub7ec\ub0a9\ub2c8\ub2e4. <code>\uc120\ud0dd\ud558\ub2e4 *<\/code> \ubdf0 \uccb4\uc778\uc744 \ud1b5\ud574 \uc791\uc5c5\ud558\ub824\uba74 \uc2e4\uc2dc\uac04 \uc2a4\ud0a4\ub9c8 \uba54\ud0c0\ub370\uc774\ud130\uac00 \ud544\uc694\ud569\ub2c8\ub2e4. \uc4f0\uae30 \uac00\ub2a5\ud55c CTE\uc640 <code>\uac08\ub4f1\uc5d0 \uad00\ud558\uc5ec<\/code> \uc5c5\uc11c\ud2b8(upsert)\uc5d0\ub294 \uc815\ud655\ud55c \ubc29\uc5b8 \ubb38\ubc95\uc774 \ud544\uc694\ud569\ub2c8\ub2e4. \ud544\ud130\uc640 \uc870\uc778 \ud0a4\ub97c \ud1b5\ud55c \uac04\uc811\uc801\uc778 \uacc4\ubcf4\ub294 \uc77c\ubc18\uc801\uc73c\ub85c \ubaa8\ub378\ub9c1\ub418\uc9c0 \uc54a\uc73c\uba70, \uacc4\ubcf4\ub97c \ucd94\ucd9c\ud558\ub294 \uac83\uacfc \uc218\ucc9c \uac1c\uc758 \uac1d\uccb4\uc5d0 \uac78\uccd0 \uc774\ub97c \uc2dc\uac01\ud654, \uc800\uc7a5 \ubc0f \ube44\uad50\ud558\ub294 \uac83\uc740 \ub2e4\ub985\ub2c8\ub2e4. \ud3c9\uac00\ud560 \ub54c\ub294 \uac00\uc7a5 \uae4a\uc740 \ubdf0 \uc2a4\ud0dd\uacfc \uac00\uc7a5 \ubcf5\uc7a1\ud55c \uc5c5\uc11c\ud2b8\ub97c \ubaa8\ub450 \uc2e4\ud589\ud558\uace0 \uadf8\ub798\ud504\ub97c \ube44\uad50\ud574 \ubcf4\uc138\uc694.<\/p>\n\n\n\n<p>\uc5ec\ub7ec \uc5d4\uc9c4\uc744 \ud63c\ud569\ud574\uc11c \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0\uc5d0\ub3c4 \ub3d9\uc77c\ud55c \ud30c\uc11c \uc81c\ud488\uad70\uc774 \ub3d9\uc77c\ud55c \ucd9c\ub825 \ud615\uc2dd\uc73c\ub85c \ubaa8\ub4e0 \uc5d4\uc9c4\uc744 \ucc98\ub9ac\ud569\ub2c8\ub2e4. \uc790\uc138\ud55c \ub0b4\uc6a9\uc740 \uad00\ub828 \ud398\uc774\uc9c0\ub97c \ucc38\uc870\ud558\uc138\uc694. <a href=\"https:\/\/www.gudusoft.com\/ko\/mysql-data-lineage\/\">MySQL \ub370\uc774\ud130 \uacc4\ubcf4<\/a>, <a href=\"https:\/\/www.gudusoft.com\/ko\/%ec%a0%81%ec%83%89%ed%8e%b8%ec%9d%b4-%eb%8d%b0%ec%9d%b4%ed%84%b0-%ea%b3%84%eb%b3%b4\/\">\ub808\ub4dc\uc2dc\ud504\ud2b8 \ub370\uc774\ud130 \uacc4\ubcf4<\/a>, \uadf8\ub9ac\uace0 <a href=\"https:\/\/www.gudusoft.com\/ko\/%ea%b7%b8%eb%a6%b0%ed%94%8c%eb%9f%bc-%eb%8d%b0%ec%9d%b4%ed%84%b0-%ea%b3%84%eb%b3%b4\/\">\uadf8\ub9b0\ud50c\ub7fc \ub370\uc774\ud130 \uacc4\ubcf4<\/a>\ub610\ub294 <a href=\"https:\/\/www.gudusoft.com\/ko\/%eb%8d%b0%ec%9d%b4%ed%84%b0-%ea%b3%84%eb%b3%b4-%ec%a7%80%ec%8b%9d-%ea%b8%b0%eb%b0%98\/\">\ub370\uc774\ud130 \uacc4\ubcf4 \uc9c0\uc2dd \uae30\ubc18<\/a> \uac1c\ub150\uc5d0 \uad00\ud574\uc11c\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc790\uc8fc \ubb3b\ub294 \uc9c8\ubb38<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">PostgreSQL\uc5d0\ub294 \ub370\uc774\ud130 \uacc4\ubcf4 \ucd94\uc801 \uae30\ub2a5\uc774 \ub0b4\uc7a5\ub418\uc5b4 \uc788\ub098\uc694?<\/h3>\n\n\n<p>\uc544\ub2c8\uc694. PostgreSQL\uc740 \uac1d\uccb4 \uc218\uc900\uc758 \uc885\uc18d\uc131\uc744 \ucd94\uc801\ud569\ub2c8\ub2e4. <code>pg_depend<\/code> \u2014 \uc5b4\ub5a4 \ubdf0\uac00 \uc5b4\ub5a4 \ud14c\uc774\ube14\uc744 \ucc38\uc870\ud558\ub294\uc9c0 \u2014 \ubb34\uacb0\uc131 \uc720\uc9c0\ub97c \uc704\ud574 <code>\ub4dc\ub86d... \uce90\uc2a4\ucf00\uc774\ub4dc<\/code>\uceec\ub7fc\uc774 \uc5b4\ub5bb\uac8c \ubcc0\ud658\ub418\uc5c8\ub294\uc9c0\ub294 \uae30\ub85d\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uceec\ub7fc \uc218\uc900\uc758 \uacc4\ubcf4\ub294 \ubdf0 \uc815\uc758 \ubc0f \uc2a4\ud06c\ub9bd\ud2b8\uc758 SQL\uc744 \ud30c\uc2f1\ud558\uc5ec \ud30c\uc545\ud574\uc57c \ud558\uba70, SQLFlow\uac00 \ubc14\ub85c \uc774 \uc791\uc5c5\uc744 \uc218\ud589\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">SQLFlow\uac00 \ub0b4 \ud14c\uc774\ube14 \ub370\uc774\ud130\uc5d0 \uc811\uadfc\ud574\uc57c \ud558\ub098\uc694?<\/h3>\n\n\n<p>\uc544\ub2c8\uc694. SQLFlow\ub294 SQL \ucf54\ub4dc\uc5d0 \ub300\ud55c \uc815\uc801 \ubd84\uc11d\uc744 \uc218\ud589\ud558\uace0, \uc120\ud0dd\uc801\uc73c\ub85c \uc2a4\ud0a4\ub9c8 \uba54\ud0c0\ub370\uc774\ud130(\ud14c\uc774\ube14 \ubc0f \uc5f4 \uc815\uc758)\ub97c \uc77d\uc5b4 \ucc38\uc870\ub97c \ud574\uacb0\ud569\ub2c8\ub2e4. \ud589\uc744 \uc9c1\uc811 \uc77d\ub294 \uacbd\uc6b0\ub294 \uc5c6\uc2b5\ub2c8\ub2e4. \uc628\ud504\ub808\ubbf8\uc2a4 \ubc84\uc804\uc744 \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0 SQL \ud14d\uc2a4\ud2b8\uc870\ucc28\ub3c4 \ub124\ud2b8\uc6cc\ud06c \ub0b4\uc5d0 \uc720\uc9c0\ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">SQLFlow\ub294 \uc4f0\uae30 \uac00\ub2a5\ud55c CTE\uc640 \ucda9\ub3cc \uc2dc \uc5c5\uc11c\ud2b8(upsert)\ub97c \ud1b5\ud574 \ucf54\ub4dc \uacc4\ubcf4\ub97c \ucd94\uc801\ud560 \uc218 \uc788\uc2b5\ub2c8\uae4c?<\/h3>\n\n\n<p>\uc608. PostgreSQL \ubc29\uc5b8 \ud30c\uc11c\ub294 \uc774\ub97c \ucc98\ub9ac\ud569\ub2c8\ub2e4. <code>... \uc0bd\uc785\/\uc5c5\ub370\uc774\ud2b8\/\uc0ad\uc81c ... \ubc18\ud658<\/code> \uc9c4\uc220 \ubc0f <code>\ucda9\ub3cc \ubc1c\uc0dd \uc2dc \uc5c5\ub370\uc774\ud2b8... \uc0bd\uc785<\/code>\uc0bd\uc785 \ubc0f \uc5c5\ub370\uc774\ud2b8 \uc5f4 \ud750\ub984\uc744 \ub300\uc0c1 \ud14c\uc774\ube14\uc5d0 \ub9e4\ud551\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\ubd84\ud560\ub41c \ud14c\uc774\ube14\uacfc \uc0c1\uc18d\ub41c \ud14c\uc774\ube14\uc740 \uc5b4\ub5bb\uac8c \ucc98\ub9ac\ub418\ub098\uc694?<\/h3>\n\n\n<p>SQLFlow\ub294 PostgreSQL\uc758 \uc0c1\uc18d \ubc0f \uc120\uc5b8\uc801 \ud30c\ud2f0\uc154\ub2dd DDL\uc744 \uad6c\ubb38 \ubd84\uc11d\ud558\ubbc0\ub85c, \ubd80\ubaa8 \ud14c\uc774\ube14\uc5d0 \ub300\ud55c \ucffc\ub9ac\uc758 \uacc4\ubcf4\ub294 \ud30c\ud2f0\uc158\ubcc4\ub85c \ubd84\ud560\ub418\uc9c0 \uc54a\uace0 \ubd80\ubaa8 \uc218\uc900\uc5d0\uc11c \uc5f0\uacb0\ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">PostgreSQL \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uc804\uccb4\uc758 \ucffc\ub9ac \uacc4\ubcf4\ub97c \uc5b4\ub5bb\uac8c \ud655\uc778\ud560 \uc218 \uc788\ub098\uc694? \ud2b9\uc815 \ucffc\ub9ac \ud558\ub098\uc5d0 \ub300\ud55c \uacc4\ubcf4\uac00 \uc544\ub2c8\ub77c\uc694.<\/h3>\n\n\n<p>SQLFlow\ub97c JDBC\ub97c \ud1b5\ud574 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0 \uc5f0\uacb0\ud558\uac70\ub098 Grabit \uc778\uc81c\uc2a4\ud130\ub97c \uc0ac\uc6a9\ud558\uc5ec \uba54\ud0c0\ub370\uc774\ud130\ub97c \ucd94\ucd9c\ud558\uc138\uc694. SQLFlow\ub294 \ubaa8\ub4e0 DDL\uacfc \ubdf0 \uc815\uc758\ub97c \uac00\uc838\uc640 \ud568\uaed8 \ubd84\uc11d\ud558\uace0, 100\uac1c \uc774\uc0c1\uc758 \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uaddc\ubaa8\uc5d0\uc11c\ub3c4 \ud655\uc7a5 \uac00\ub2a5\ud55c \uc601\uad6c\uc801\uc774\uace0 \uc810\uc9c4\uc801\uc73c\ub85c \uc5c5\ub370\uc774\ud2b8\ub418\ub294 \uacc4\ubcf4 \uc800\uc7a5\uc18c\ub97c \uc720\uc9c0 \uad00\ub9ac\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">SQLFlow \uac00\uaca9\uc740 \uc5bc\ub9c8\uc778\uac00\uc694?<\/h3>\n\n\n<p>SQLFlow Cloud\ub294 \ubb34\ub8cc\ub85c \uc2dc\uc791\ud558\uba70, \ud504\ub9ac\ubbf8\uc5c4 \uacc4\uc815\uc740 \uc6d4 $49.99\uc785\ub2c8\ub2e4. SQLFlow On-Premise\ub294 \uc120\ud0dd\ud55c \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uc720\ud615\ub2f9 \uc6d4 $500 \ub610\ub294 \uc77c\ud68c\uc131 $4,800\uc774\uba70, \ucd94\uac00 \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uc720\ud615\ub2f9 \uc6d4 $100 \ub610\ub294 \uc77c\ud68c\uc131 $1,000\uc774 \ucd94\uac00\ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<div class=\"wp-block-group alignfull has-background is-layout-constrained\" style=\"background-color:#60d5f6;padding-top:32px;padding-bottom:32px\"><div class=\"wp-block-group__inner-container\">\n\n<h2 class=\"wp-block-heading\">\uc9c0\uae08 \ubc14\ub85c PostgreSQL \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uacc4\ubcf4\ub97c \ucd94\uc801\ud574 \ubcf4\uc138\uc694.<\/h2>\n\n\n<p>\ubdf0 \uc815\uc758\ub97c \ubb34\ub8cc \uc2dc\uac01\ud654 \ub3c4\uad6c\uc5d0 \ubd99\uc5ec\ub123\uace0 \uc5f4 \uc218\uc900 \uadf8\ub798\ud504\ub97c \ud655\uc778\ud558\uac70\ub098, \uc804\uccb4 PostgreSQL \ud658\uacbd\uc744 \ubd84\uc11d\ud558\ub294 \ubc29\ubc95\uc5d0 \ub300\ud574 \ubb38\uc758\ud574 \uc8fc\uc138\uc694.<\/p>\n\n\n<div class=\"wp-block-buttons is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/sqlflow.gudusoft.com\/?utm_source=gudusoft&amp;utm_medium=website&amp;utm_campaign=postgresql-data-lineage\" target=\"_blank\" rel=\"noreferrer noopener\">SQLFlow\ub97c \ubb34\ub8cc\ub85c \uc0ac\uc6a9\ud574 \ubcf4\uc138\uc694.<\/a><\/div>\n\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/www.gudusoft.com\/ko\/%ec%97%b0%eb%9d%bd%ed%95%98%eb%8b%a4\/\">\uae30\uc5c5\uc6a9 \ub370\ubaa8\ub97c \uc694\uccad\ud558\uc138\uc694<\/a><\/div>\n<\/div>\n\n<\/div><\/div>\n\n\n\n<script type=\"application\/ld+json\">{\n    \"@context\": \"https:\\\/\\\/schema.org\",\n    \"@graph\": [\n        {\n            \"@type\": \"SoftwareApplication\",\n            \"name\": \"Gudu SQLFlow\",\n            \"applicationCategory\": \"DeveloperApplication\",\n            \"applicationSubCategory\": \"SQL Data Lineage Tool\",\n            \"operatingSystem\": \"Web, Linux, Windows, macOS\",\n            \"url\": \"https:\\\/\\\/www.gudusoft.com\\\/postgresql-data-lineage\\\/\",\n            \"description\": \"Automated PostgreSQL data lineage: SQLFlow parses views, writable CTEs, ON CONFLICT upserts, and partitioned-table DDL to produce interactive column-level lineage diagrams.\",\n            \"featureList\": \"PostgreSQL dialect parser, column-level lineage, nested view chain resolution, writable CTE analysis, INSERT ON CONFLICT lineage, inheritance and partitioning support, indirect\\\/impact lineage, JDBC ingestion, DataHub\\\/Purview\\\/OpenMetadata export, AI lineage query\",\n            \"softwareVersion\": \"8.2.3\",\n            \"offers\": [\n                {\n                    \"@type\": \"Offer\",\n                    \"name\": \"SQLFlow Cloud Free\",\n                    \"price\": \"0\",\n                    \"priceCurrency\": \"USD\"\n                },\n                {\n                    \"@type\": \"Offer\",\n                    \"name\": \"SQLFlow Cloud Premium\",\n                    \"price\": \"49.99\",\n                    \"priceCurrency\": \"USD\",\n                    \"priceSpecification\": {\n                        \"@type\": \"UnitPriceSpecification\",\n                        \"price\": \"49.99\",\n                        \"priceCurrency\": \"USD\",\n                        \"billingIncrement\": 1,\n                        \"unitText\": \"MONTH\"\n                    }\n                },\n                {\n                    \"@type\": \"Offer\",\n                    \"name\": \"SQLFlow On-Premise\",\n                    \"price\": \"4800\",\n                    \"priceCurrency\": \"USD\"\n                }\n            ],\n            \"publisher\": {\n                \"@type\": \"Organization\",\n                \"name\": \"Gudu Software\",\n                \"url\": \"https:\\\/\\\/www.gudusoft.com\\\/\"\n            }\n        },\n        {\n            \"@type\": \"FAQPage\",\n            \"mainEntity\": [\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Does PostgreSQL have built-in data lineage?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"No. PostgreSQL tracks object-level dependencies in pg_depend for integrity purposes like DROP CASCADE, but it does not record how columns are transformed. Column-level lineage has to be derived by parsing the SQL in view definitions and scripts, which is what SQLFlow does.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Does SQLFlow need access to my table data?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"No. SQLFlow performs static analysis of SQL code and optionally reads schema metadata to resolve references. It never reads rows. With the On-Premise edition, even the SQL text stays inside your network.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Can SQLFlow trace lineage through writable CTEs and ON CONFLICT upserts?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"Yes. The PostgreSQL dialect parser handles WITH ... INSERT\\\/UPDATE\\\/DELETE ... RETURNING statements and INSERT ... ON CONFLICT DO UPDATE, mapping both the insert and update column flows into the target table.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"How are partitioned and inherited tables handled?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"SQLFlow parses PostgreSQL inheritance and declarative partitioning DDL, so lineage for queries against a parent table is attached at the parent level rather than splintering into per-partition edges.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"How do I get lineage for an entire PostgreSQL database, not just one query?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"Connect SQLFlow to the database over JDBC or extract metadata with the Grabit ingester. SQLFlow pulls all DDL and view definitions, analyzes them together, and maintains a persistent, incrementally updated lineage repository scaling to estates of 100+ databases.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"How much does SQLFlow cost?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"SQLFlow Cloud starts free; premium accounts are $49.99\\\/month. SQLFlow On-Premise is $500\\\/month or $4,800 one-time per selected database type, plus $100\\\/month or $1,000 one-time per additional database type.\"\n                    }\n                }\n            ]\n        }\n    ]\n}<\/script>","protected":false},"excerpt":{"rendered":"<p>PostgreSQL data lineage is the column-level map of how data moves through your PostgreSQL views, CTEs, and DML: which base-table columns feed each view or report column, and which joins, filters, casts, and aggregates transform the data along the way. PostgreSQL&#8217;s own catalog tells you that objects depend on each other \u2014 pg_depend records that a view references a table \u2014 but it says nothing about how columns transform. Building real lineage means parsing the SQL itself, and that is exactly what Gudu SQLFlow does, with a dedicated PostgreSQL dialect parser rather than a generic ANSI grammar. Try it in\u2026<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":5}},"_links":{"self":[{"href":"https:\/\/www.gudusoft.com\/ko\/wp-json\/wp\/v2\/pages\/6756"}],"collection":[{"href":"https:\/\/www.gudusoft.com\/ko\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.gudusoft.com\/ko\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.gudusoft.com\/ko\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gudusoft.com\/ko\/wp-json\/wp\/v2\/comments?post=6756"}],"version-history":[{"count":0,"href":"https:\/\/www.gudusoft.com\/ko\/wp-json\/wp\/v2\/pages\/6756\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.gudusoft.com\/ko\/wp-json\/wp\/v2\/media?parent=6756"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}