{"id":20506,"date":"2022-11-21T12:12:14","date_gmt":"2022-11-21T11:12:14","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=20506"},"modified":"2022-11-24T15:50:07","modified_gmt":"2022-11-24T14:50:07","slug":"an-introduction-to-omrun-1-a-simple-data-comparison-with-the-postgresql-adapter","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/an-introduction-to-omrun-1-a-simple-data-comparison-with-the-postgresql-adapter\/","title":{"rendered":"An introduction to OMrun &#8211; 1 &#8211; A simple data comparison with the PostgreSQL Adapter"},"content":{"rendered":"\n<p>With the integration of <a href=\"https:\/\/www.omrun.ch\/en\/\" target=\"_blank\" rel=\"noreferrer noopener\">OMIS<\/a> into dbi services we also got a new product: <a href=\"https:\/\/www.omrun.ch\/en\/omrun.html\" target=\"_blank\" rel=\"noreferrer noopener\">OMrun<\/a>. OMrun is all about data, especially comparing, validating and anonymizing data from various sources against various targets. Most of that is done using plain SQL, so we get the full power of SQL for validating, comparing or anonymizing data. In this first introduction post we&#8217;ll look at very simple case. In later posts which will follow, we&#8217;ll go deeper and talk about scenarios, rules, parameters and much more.<\/p>\n\n\n\n<p>When you start OMrun for the first time it looks like this:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"416\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun1.png\" alt=\"\" class=\"wp-image-20510\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun1.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun1-300x163.png 300w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/figure>\n\n\n\n<p>There is a menu at the top and a tree view on the left. What we&#8217;ll do as the first step is: We&#8217;ll remove all the sample definitions, that is: Remove the predefined &#8220;Environments&#8221;, the predefined &#8220;Scenarios&#8221; and the predefined &#8220;Components \/ Objects&#8221;. The procedure for this is as usual, right click to get then context menu, then delete (this works the same for all the entries):<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"258\" height=\"183\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun2.png\" alt=\"\" class=\"wp-image-20511\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"771\" height=\"310\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun3.png\" alt=\"\" class=\"wp-image-20512\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun3.png 771w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun3-300x121.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun3-768x309.png 768w\" sizes=\"auto, (max-width: 771px) 100vw, 771px\" \/><\/figure>\n\n\n\n<p>The first piece we need is an environment. An environment can be thought of as a collection of data sources. For the scope of this post, we&#8217;ll create two definitions for PostgreSQL databases: One for the source and one for the target because in the end, we want to compare data. Creating a new environment is pretty simple:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"387\" height=\"162\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun4.png\" alt=\"\" class=\"wp-image-20515\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun4.png 387w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun4-300x126.png 300w\" sizes=\"auto, (max-width: 387px) 100vw, 387px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"982\" height=\"520\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun5.png\" alt=\"\" class=\"wp-image-20516\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun5.png 982w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun5-300x159.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun5-768x407.png 768w\" sizes=\"auto, (max-width: 982px) 100vw, 982px\" \/><\/figure>\n\n\n\n<p>This gives us an empty environment. The next step is to define our data sources. A data source can be pretty much everything. If you take a look at the default &#8220;Data Adapters&#8221; in the &#8220;Config&#8221; menu, you&#8217;ll notice that there are many already predefined. Two of those are for PostgreSQL (not counting the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Open_Database_Connectivity\" target=\"_blank\" rel=\"noreferrer noopener\">ODBC<\/a> adapter):<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"559\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun6-1024x559.png\" alt=\"\" class=\"wp-image-20518\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun6-1024x559.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun6-300x164.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun6-768x420.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun6.png 1338w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>&#8220;Trusted&#8221; means: Please use the user and password from the operating system OMrun runs on, which is Window. Unchecked &#8220;Trusted&#8221; means, please use the credentials we&#8217;ll provide later on.<\/p>\n\n\n\n<p>Next is defining the two connections to PostgreSQL:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"663\" height=\"173\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun7.png\" alt=\"\" class=\"wp-image-20521\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun7.png 663w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun7-300x78.png 300w\" sizes=\"auto, (max-width: 663px) 100vw, 663px\" \/><\/figure>\n\n\n\n<p>We&#8217;re using the same instance here, but two different databases and we&#8217;ll use the PostgreSQL &#8220;Db Type&#8221;, of course.<\/p>\n\n\n\n<p>Now that we have the connections its time to create the &#8220;Data-Object&#8221;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"311\" height=\"201\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun8.png\" alt=\"\" class=\"wp-image-20528\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun8.png 311w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun8-300x194.png 300w\" sizes=\"auto, (max-width: 311px) 100vw, 311px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"310\" height=\"178\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun9.png\" alt=\"\" class=\"wp-image-20529\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun9.png 310w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun9-300x172.png 300w\" sizes=\"auto, (max-width: 310px) 100vw, 310px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"306\" height=\"287\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun10.png\" alt=\"\" class=\"wp-image-20530\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun10.png 306w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun10-300x281.png 300w\" sizes=\"auto, (max-width: 306px) 100vw, 306px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"347\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun11-1024x347.png\" alt=\"\" class=\"wp-image-20531\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun11-1024x347.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun11-300x102.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun11-768x260.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun11-1536x520.png 1536w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun11.png 1881w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Now is the time to define the queries we want to execute on the source and the target. In our case we do a simple select against <a href=\"https:\/\/www.postgresql.org\/docs\/current\/catalog-pg-database.html\" target=\"_blank\" rel=\"noreferrer noopener\">pg_database<\/a> which of course returns the same result for both sides:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"205\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun12-1024x205.png\" alt=\"\" class=\"wp-image-20534\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun12-1024x205.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun12-300x60.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun12-768x154.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun12.png 1451w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Having done that, the business mapping needs to be generated:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"308\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun13-1024x308.png\" alt=\"\" class=\"wp-image-20536\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun13-1024x308.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun13-300x90.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun13-768x231.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun13.png 1398w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"alignleft size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1423\" height=\"398\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun14.png\" alt=\"\" class=\"wp-image-20537\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun14.png 1423w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun14-300x84.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun14-1024x286.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun14-768x215.png 768w\" sizes=\"auto, (max-width: 1423px) 100vw, 1423px\" \/><\/figure>\n<\/div>\n\n\n<p>Tip: If you move your mouse pointer over the &#8220;Query A&#8221; or &#8220;Query B&#8221; labels, you&#8217;ll see what statement is generated:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"334\" height=\"252\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun145png.png\" alt=\"\" class=\"wp-image-20539\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun145png.png 334w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun145png-300x226.png 300w\" sizes=\"auto, (max-width: 334px) 100vw, 334px\" \/><\/figure>\n\n\n\n<p>Ready to execute our first data comparison:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"490\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun16-1024x490.png\" alt=\"\" class=\"wp-image-20542\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun16-1024x490.png 1024w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun16-300x144.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun16-768x367.png 768w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun16-1536x735.png 1536w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun16.png 1733w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Not a big surprise, the test passed because we have of course the same result on both sides. Of course, this is not really useful in practice, but it should already give you an idea what OMrun can do for you. In the next posts we&#8217;ll go a bit more into the details and start to use parameters.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>With the integration of OMIS into dbi services we also got a new product: OMrun. OMrun is all about data, especially comparing, validating and anonymizing data from various sources against various targets. Most of that is done using plain SQL, so we get the full power of SQL for validating, comparing or anonymizing data. In [&hellip;]<\/p>\n","protected":false},"author":29,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[197,229,2725],"tags":[2751,2602],"type_dbi":[2750,2749],"class_list":["post-20506","post","type-post","status-publish","format-standard","hentry","category-application-integration-middleware","category-database-administration-monitoring","category-omrun","tag-omrun","tag-postgresql-2","type-omrun","type-postgresql"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>An introduction to OMrun - 1 - A simple data comparison with the PostgreSQL Adapter - dbi Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/an-introduction-to-omrun-1-a-simple-data-comparison-with-the-postgresql-adapter\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"An introduction to OMrun - 1 - A simple data comparison with the PostgreSQL Adapter\" \/>\n<meta property=\"og:description\" content=\"With the integration of OMIS into dbi services we also got a new product: OMrun. OMrun is all about data, especially comparing, validating and anonymizing data from various sources against various targets. Most of that is done using plain SQL, so we get the full power of SQL for validating, comparing or anonymizing data. In [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/an-introduction-to-omrun-1-a-simple-data-comparison-with-the-postgresql-adapter\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2022-11-21T11:12:14+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-11-24T14:50:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun1.png\" \/>\n<meta name=\"author\" content=\"Daniel Westermann\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@westermanndanie\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Daniel Westermann\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/an-introduction-to-omrun-1-a-simple-data-comparison-with-the-postgresql-adapter\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/an-introduction-to-omrun-1-a-simple-data-comparison-with-the-postgresql-adapter\/\"},\"author\":{\"name\":\"Daniel Westermann\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66\"},\"headline\":\"An introduction to OMrun &#8211; 1 &#8211; A simple data comparison with the PostgreSQL Adapter\",\"datePublished\":\"2022-11-21T11:12:14+00:00\",\"dateModified\":\"2022-11-24T14:50:07+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/an-introduction-to-omrun-1-a-simple-data-comparison-with-the-postgresql-adapter\/\"},\"wordCount\":503,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/an-introduction-to-omrun-1-a-simple-data-comparison-with-the-postgresql-adapter\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun1.png\",\"keywords\":[\"OMrun\",\"postgresql\"],\"articleSection\":[\"Application integration &amp; Middleware\",\"Database Administration &amp; Monitoring\",\"OMrun\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/an-introduction-to-omrun-1-a-simple-data-comparison-with-the-postgresql-adapter\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/an-introduction-to-omrun-1-a-simple-data-comparison-with-the-postgresql-adapter\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/an-introduction-to-omrun-1-a-simple-data-comparison-with-the-postgresql-adapter\/\",\"name\":\"An introduction to OMrun - 1 - A simple data comparison with the PostgreSQL Adapter - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/an-introduction-to-omrun-1-a-simple-data-comparison-with-the-postgresql-adapter\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/an-introduction-to-omrun-1-a-simple-data-comparison-with-the-postgresql-adapter\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun1.png\",\"datePublished\":\"2022-11-21T11:12:14+00:00\",\"dateModified\":\"2022-11-24T14:50:07+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/an-introduction-to-omrun-1-a-simple-data-comparison-with-the-postgresql-adapter\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/an-introduction-to-omrun-1-a-simple-data-comparison-with-the-postgresql-adapter\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/an-introduction-to-omrun-1-a-simple-data-comparison-with-the-postgresql-adapter\/#primaryimage\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun1.png\",\"contentUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun1.png\",\"width\":768,\"height\":416},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/an-introduction-to-omrun-1-a-simple-data-comparison-with-the-postgresql-adapter\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"An introduction to OMrun &#8211; 1 &#8211; A simple data comparison with the PostgreSQL Adapter\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66\",\"name\":\"Daniel Westermann\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g\",\"caption\":\"Daniel Westermann\"},\"description\":\"Daniel Westermann is Principal Consultant and Technology Leader Open Infrastructure at dbi services. He has more than 15 years of experience in management, engineering and optimization of databases and infrastructures, especially on Oracle and PostgreSQL. Since the beginning of his career, he has specialized in Oracle Technologies and is Oracle Certified Professional 12c and Oracle Certified Expert RAC\/GridInfra. Over time, Daniel has become increasingly interested in open source technologies, becoming \u201cTechnology Leader Open Infrastructure\u201d and PostgreSQL expert. \u00a0Based on community or EnterpriseDB tools, he develops and installs complex high available solutions with PostgreSQL. He is also a certified PostgreSQL Plus 9.0 Professional and a Postgres Advanced Server 9.4 Professional. He is a regular speaker at PostgreSQL conferences in Switzerland and Europe. Today Daniel is also supporting our customers on AWS services such as AWS RDS, database migrations into the cloud, EC2 and automated infrastructure management with AWS SSM (System Manager). He is a certified AWS Solutions Architect Professional. Prior to dbi services, Daniel was Management System Engineer at LC SYSTEMS-Engineering AG in Basel. Before that, he worked as Oracle Developper &amp;\u00a0Project Manager at Delta Energy Solutions AG in Basel (today Powel AG). Daniel holds a diploma in Business Informatics (DHBW, Germany). His branch-related experience mainly covers the pharma industry, the financial sector, energy, lottery and telecommunications.\",\"sameAs\":[\"https:\/\/x.com\/westermanndanie\"],\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/daniel-westermann\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"An introduction to OMrun - 1 - A simple data comparison with the PostgreSQL Adapter - dbi Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/an-introduction-to-omrun-1-a-simple-data-comparison-with-the-postgresql-adapter\/","og_locale":"en_US","og_type":"article","og_title":"An introduction to OMrun - 1 - A simple data comparison with the PostgreSQL Adapter","og_description":"With the integration of OMIS into dbi services we also got a new product: OMrun. OMrun is all about data, especially comparing, validating and anonymizing data from various sources against various targets. Most of that is done using plain SQL, so we get the full power of SQL for validating, comparing or anonymizing data. In [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/an-introduction-to-omrun-1-a-simple-data-comparison-with-the-postgresql-adapter\/","og_site_name":"dbi Blog","article_published_time":"2022-11-21T11:12:14+00:00","article_modified_time":"2022-11-24T14:50:07+00:00","og_image":[{"url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun1.png","type":"","width":"","height":""}],"author":"Daniel Westermann","twitter_card":"summary_large_image","twitter_creator":"@westermanndanie","twitter_misc":{"Written by":"Daniel Westermann","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/an-introduction-to-omrun-1-a-simple-data-comparison-with-the-postgresql-adapter\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/an-introduction-to-omrun-1-a-simple-data-comparison-with-the-postgresql-adapter\/"},"author":{"name":"Daniel Westermann","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66"},"headline":"An introduction to OMrun &#8211; 1 &#8211; A simple data comparison with the PostgreSQL Adapter","datePublished":"2022-11-21T11:12:14+00:00","dateModified":"2022-11-24T14:50:07+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/an-introduction-to-omrun-1-a-simple-data-comparison-with-the-postgresql-adapter\/"},"wordCount":503,"commentCount":0,"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/an-introduction-to-omrun-1-a-simple-data-comparison-with-the-postgresql-adapter\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun1.png","keywords":["OMrun","postgresql"],"articleSection":["Application integration &amp; Middleware","Database Administration &amp; Monitoring","OMrun"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/an-introduction-to-omrun-1-a-simple-data-comparison-with-the-postgresql-adapter\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/an-introduction-to-omrun-1-a-simple-data-comparison-with-the-postgresql-adapter\/","url":"https:\/\/www.dbi-services.com\/blog\/an-introduction-to-omrun-1-a-simple-data-comparison-with-the-postgresql-adapter\/","name":"An introduction to OMrun - 1 - A simple data comparison with the PostgreSQL Adapter - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/an-introduction-to-omrun-1-a-simple-data-comparison-with-the-postgresql-adapter\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/an-introduction-to-omrun-1-a-simple-data-comparison-with-the-postgresql-adapter\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun1.png","datePublished":"2022-11-21T11:12:14+00:00","dateModified":"2022-11-24T14:50:07+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/an-introduction-to-omrun-1-a-simple-data-comparison-with-the-postgresql-adapter\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/an-introduction-to-omrun-1-a-simple-data-comparison-with-the-postgresql-adapter\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/an-introduction-to-omrun-1-a-simple-data-comparison-with-the-postgresql-adapter\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun1.png","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/11\/omrun1.png","width":768,"height":416},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/an-introduction-to-omrun-1-a-simple-data-comparison-with-the-postgresql-adapter\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"An introduction to OMrun &#8211; 1 &#8211; A simple data comparison with the PostgreSQL Adapter"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66","name":"Daniel Westermann","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g","caption":"Daniel Westermann"},"description":"Daniel Westermann is Principal Consultant and Technology Leader Open Infrastructure at dbi services. He has more than 15 years of experience in management, engineering and optimization of databases and infrastructures, especially on Oracle and PostgreSQL. Since the beginning of his career, he has specialized in Oracle Technologies and is Oracle Certified Professional 12c and Oracle Certified Expert RAC\/GridInfra. Over time, Daniel has become increasingly interested in open source technologies, becoming \u201cTechnology Leader Open Infrastructure\u201d and PostgreSQL expert. \u00a0Based on community or EnterpriseDB tools, he develops and installs complex high available solutions with PostgreSQL. He is also a certified PostgreSQL Plus 9.0 Professional and a Postgres Advanced Server 9.4 Professional. He is a regular speaker at PostgreSQL conferences in Switzerland and Europe. Today Daniel is also supporting our customers on AWS services such as AWS RDS, database migrations into the cloud, EC2 and automated infrastructure management with AWS SSM (System Manager). He is a certified AWS Solutions Architect Professional. Prior to dbi services, Daniel was Management System Engineer at LC SYSTEMS-Engineering AG in Basel. Before that, he worked as Oracle Developper &amp;\u00a0Project Manager at Delta Energy Solutions AG in Basel (today Powel AG). Daniel holds a diploma in Business Informatics (DHBW, Germany). His branch-related experience mainly covers the pharma industry, the financial sector, energy, lottery and telecommunications.","sameAs":["https:\/\/x.com\/westermanndanie"],"url":"https:\/\/www.dbi-services.com\/blog\/author\/daniel-westermann\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/20506","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/29"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=20506"}],"version-history":[{"count":20,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/20506\/revisions"}],"predecessor-version":[{"id":20560,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/20506\/revisions\/20560"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=20506"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=20506"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=20506"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=20506"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}