{"id":134,"date":"2017-05-02T08:03:41","date_gmt":"2017-05-02T08:03:41","guid":{"rendered":"http:\/\/www.yohz.com\/blogs\/?p=134"},"modified":"2018-11-01T07:53:37","modified_gmt":"2018-11-01T07:53:37","slug":"why-use-sql-multi-select-in-addition-to-pgadmin-4","status":"publish","type":"post","link":"https:\/\/www.yohz.com\/blogs\/2017\/05\/02\/why-use-sql-multi-select-in-addition-to-pgadmin-4\/","title":{"rendered":"Why use SQL Multi Select in addition to pgAdmin 4"},"content":{"rendered":"<p>Let me start by saying pgAdmin 4 is a great tool for PostgreSQL. \u00a0It makes a lot of the admin and monitoring work easier. \u00a0It&#8217;s also cross-platform, and it&#8217;s free. \u00a0On the other hand, <a href=\"http:\/\/www.yohz.com\/sms_details.htm?source=smspga\">SQL Multi Select<\/a> is just a query tool, that runs only on Windows. \u00a0Well, it runs on Ubuntu using <a href=\"http:\/\/www.yohz.com\/blogs\/2017\/05\/04\/sql-multi-select-on-ubuntu-17-04-and-wine-2-0-1\/\">Wine<\/a>, and on Fedora via PlayOnLinux. \u00a0 \u00a0The <a href=\"http:\/\/www.yohz.com\/sms_editions.htm?source=smspga\">Basic Edition<\/a> is free, and here are some reasons you may want to use <a href=\"http:\/\/www.yohz.com\/sms_details.htm?source=smspga\">SQL Multi Select<\/a>\u00a0as your PostgreSQL query tool instead of pgAdmin. \u00a0Note that pgAdmin 4 (1.4) was used for this comparison.<\/p>\n<p><strong>Multiple server targets<\/strong><\/p>\n<p style=\"padding-left: 30px;\">You can run queries on multiple PostgreSQL databases simultaneously with SQL Multi Select. \u00a0For example, say you want to run a script that returns every databases&#8217; size. \u00a0Just set up a group containing the databases you want to run the query on:<\/p>\n<p style=\"padding-left: 30px;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-139\" src=\"http:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_01.png\" alt=\"\" width=\"259\" height=\"411\" srcset=\"https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_01.png 259w, https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_01-189x300.png 189w, https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_01-95x150.png 95w\" sizes=\"(max-width: 259px) 100vw, 259px\" \/><\/p>\n<p style=\"padding-left: 30px;\">Set up the scripts on run on each of those databases:<\/p>\n<p style=\"padding-left: 30px;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-138\" src=\"http:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_02.png\" alt=\"\" width=\"367\" height=\"239\" srcset=\"https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_02.png 367w, https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_02-300x195.png 300w, https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_02-150x98.png 150w\" sizes=\"(max-width: 367px) 100vw, 367px\" \/><\/p>\n<p style=\"padding-left: 30px;\">Run the script, and you&#8217;ll see the results for each of those databases, across all servers in the server group.<\/p>\n<p style=\"padding-left: 30px;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-137\" src=\"http:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_03.png\" alt=\"\" width=\"789\" height=\"330\" srcset=\"https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_03.png 789w, https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_03-300x125.png 300w, https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_03-768x321.png 768w, https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_03-150x63.png 150w\" sizes=\"(max-width: 789px) 100vw, 789px\" \/><\/p>\n<p><strong>Multiple result sets<\/strong><\/p>\n<p style=\"padding-left: 30px;\">When you run the following in pgAdmin:<\/p>\n<p style=\"padding-left: 30px;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-148\" src=\"http:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_01a.png\" alt=\"\" width=\"863\" height=\"310\" srcset=\"https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_01a.png 863w, https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_01a-300x108.png 300w, https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_01a-768x276.png 768w, https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_01a-150x54.png 150w\" sizes=\"(max-width: 863px) 100vw, 863px\" \/><\/p>\n<p style=\"padding-left: 30px;\">only the last result set is returned.<\/p>\n<p style=\"padding-left: 30px;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-141\" src=\"http:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_12.png\" alt=\"\" width=\"790\" height=\"247\" srcset=\"https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_12.png 790w, https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_12-300x94.png 300w, https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_12-768x240.png 768w, https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_12-150x47.png 150w\" sizes=\"(max-width: 790px) 100vw, 790px\" \/><\/p>\n<p style=\"padding-left: 30px;\">In SQL Multi Select, the same script returns multiple result sets.<\/p>\n<p style=\"padding-left: 30px;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-341\" src=\"http:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sqlmultiselect_pgadmin_01.png\" alt=\"\" width=\"788\" height=\"389\" srcset=\"https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sqlmultiselect_pgadmin_01.png 788w, https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sqlmultiselect_pgadmin_01-300x148.png 300w, https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sqlmultiselect_pgadmin_01-768x379.png 768w, https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sqlmultiselect_pgadmin_01-624x308.png 624w\" sizes=\"(max-width: 788px) 100vw, 788px\" \/><\/p>\n<p style=\"padding-left: 30px;\"><span style=\"font-size: 1rem;\">To make things clearer, you can place comments before each individual script:<\/span><\/p>\n<p style=\"padding-left: 30px;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-147\" src=\"http:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_13.png\" alt=\"\" width=\"743\" height=\"326\" srcset=\"https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_13.png 743w, https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_13-300x132.png 300w, https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_13-150x66.png 150w\" sizes=\"(max-width: 743px) 100vw, 743px\" \/><\/p>\n<p style=\"padding-left: 30px;\">and SQL Multi Select will use those comments to identify the result sets instead of arbitrary numbers.<\/p>\n<p style=\"padding-left: 30px;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-346\" src=\"http:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sqlmultiselect_pgadmin_02.png\" alt=\"\" width=\"795\" height=\"387\" srcset=\"https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sqlmultiselect_pgadmin_02.png 795w, https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sqlmultiselect_pgadmin_02-300x146.png 300w, https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sqlmultiselect_pgadmin_02-768x374.png 768w, https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sqlmultiselect_pgadmin_02-624x304.png 624w\" sizes=\"(max-width: 795px) 100vw, 795px\" \/><\/p>\n<p><strong>Image display<\/strong><\/p>\n<p style=\"padding-left: 30px;\">In bytea columns storing images, pgAdmin displays the hex values.<\/p>\n<p style=\"padding-left: 30px;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-150\" src=\"http:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_21.png\" alt=\"\" width=\"713\" height=\"208\" srcset=\"https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_21.png 713w, https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_21-300x88.png 300w, https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_21-150x44.png 150w\" sizes=\"(max-width: 713px) 100vw, 713px\" \/><\/p>\n<p style=\"padding-left: 30px;\">SQL Multi Select displays a thumbnail of the image (gif, jpeg, png, bmp, dicom), and some image properties. \u00a0Note that SQL Multi Select inspects the bytea values and identifies the image format automatically. \u00a0There is no need to provide another column that tells SQL Multi Select the image format.<\/p>\n<p style=\"padding-left: 30px;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-149\" src=\"http:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_22.png\" alt=\"\" width=\"631\" height=\"609\" srcset=\"https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_22.png 631w, https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_22-300x290.png 300w, https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_22-150x145.png 150w\" sizes=\"(max-width: 631px) 100vw, 631px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><strong>Blob data identification<\/strong><\/p>\n<p style=\"padding-left: 30px;\">In bytea columns containing files, pgAdmin displays the hex values.<\/p>\n<p style=\"padding-left: 30px;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-153\" src=\"http:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_52.png\" alt=\"\" width=\"580\" height=\"316\" srcset=\"https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_52.png 580w, https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_52-300x163.png 300w, https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_52-150x82.png 150w\" sizes=\"(max-width: 580px) 100vw, 580px\" \/><\/p>\n<p style=\"padding-left: 30px;\">SQL Multi Select displays details of the data contained in those columns. \u00a0Note that SQL Multi Select inspects the bytea values and identifies the data type accordingly.<\/p>\n<p style=\"padding-left: 30px;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-152\" src=\"http:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_51.png\" alt=\"\" width=\"642\" height=\"479\" srcset=\"https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_51.png 642w, https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_51-300x224.png 300w, https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_51-150x112.png 150w\" sizes=\"(max-width: 642px) 100vw, 642px\" \/><\/p>\n<p><strong>Result sets containing bytea columns return very slow<\/strong><\/p>\n<p style=\"padding-left: 30px;\">If your query returns bytea columns a few MBs in size, pgAdmin takes an extremely long time to return the result set when compared to SQL Multi Select. \u00a0For e.g. this query returns a single bytea column that contains a 13 Mb zip file. \u00a0pgAdmin takes 7 minutes to display the single row:<\/p>\n<p style=\"padding-left: 30px;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-155\" src=\"http:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_71.png\" alt=\"\" width=\"593\" height=\"304\" srcset=\"https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_71.png 593w, https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_71-300x154.png 300w, https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_71-150x77.png 150w\" sizes=\"(max-width: 593px) 100vw, 593px\" \/><\/p>\n<p style=\"padding-left: 30px;\">SQL Multi Select returns the same result set in 1 second.<\/p>\n<p style=\"padding-left: 30px;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-154\" src=\"http:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_72.png\" alt=\"\" width=\"642\" height=\"146\" srcset=\"https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_72.png 642w, https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_72-300x68.png 300w, https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_72-150x34.png 150w\" sizes=\"(max-width: 642px) 100vw, 642px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><strong>Search function<\/strong><\/p>\n<p style=\"padding-left: 30px;\">In SQL Multi Select, you can search for a value in the result sets. \u00a0You can also use a regular expression to search for values.<\/p>\n<p style=\"padding-left: 30px;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-151\" src=\"http:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_61.png\" alt=\"\" width=\"771\" height=\"280\" srcset=\"https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_61.png 771w, https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_61-300x109.png 300w, https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_61-768x279.png 768w, https:\/\/www.yohz.com\/blogs\/wp-content\/uploads\/2017\/05\/sms_pgadmin_61-150x54.png 150w\" sizes=\"(max-width: 771px) 100vw, 771px\" \/><\/p>\n<p>pgAdmin is still great for administrative tasks, but as a query tool, <a href=\"http:\/\/www.yohz.com\/sms_details.htm?source=smspga\">SQL Multi Select<\/a> may be better in some cases. \u00a0<a href=\"http:\/\/www.yohz.com\/downloads\/sqlmultiselect\/SQLMultiSelectSetup.zip\">Download<\/a> SQL Multi Select and give it a try now. \u00a0The 14-day trial will be automatically converted to the FREE <a href=\"http:\/\/www.yohz.com\/sms_editions.htm?source=smspga\">Basic Edition<\/a> once the trial period has elapsed.<\/p>\n<p>Related blogs:<\/p>\n<ul>\n<li><a href=\"http:\/\/www.yohz.com\/blogs\/2017\/04\/04\/sql-multi-select-use-case\/\">SQL Multi Select use cases<\/a><\/li>\n<li><a href=\"http:\/\/www.yohz.com\/blogs\/2017\/05\/15\/linux-and-wine-compatibility\/\">Linux and Wine compatibility<\/a><\/li>\n<li><a href=\"http:\/\/www.yohz.com\/blogs\/2017\/05\/04\/sql-multi-select-on-ubuntu-17-04-and-wine-2-0-1\/\">SQL Multi Select on Ubuntu 17.04 and Wine 2.0.1<\/a><\/li>\n<\/ul>\n<div class=\"fcbkbttn_buttons_block\" id=\"fcbkbttn_left\"><div class=\"fcbkbttn_like \"><fb:like href=\"https:\/\/www.yohz.com\/blogs\/2017\/05\/02\/why-use-sql-multi-select-in-addition-to-pgadmin-4\/\" action=\"like\" colorscheme=\"light\" layout=\"button\"  size=\"small\"><\/fb:like><\/div><div class=\"fb-share-button  \" data-href=\"https:\/\/www.yohz.com\/blogs\/2017\/05\/02\/why-use-sql-multi-select-in-addition-to-pgadmin-4\/\" data-type=\"button\" data-size=\"small\"><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Let me start by saying pgAdmin 4 is a great tool for PostgreSQL. \u00a0It makes a lot of the admin and monitoring work easier. \u00a0It&#8217;s also cross-platform, and it&#8217;s free. \u00a0On the other hand, SQL Multi Select is just a query tool, that runs only on Windows. \u00a0Well, it runs on Ubuntu using Wine, and [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[9],"tags":[24,10],"_links":{"self":[{"href":"https:\/\/www.yohz.com\/blogs\/wp-json\/wp\/v2\/posts\/134"}],"collection":[{"href":"https:\/\/www.yohz.com\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.yohz.com\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.yohz.com\/blogs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.yohz.com\/blogs\/wp-json\/wp\/v2\/comments?post=134"}],"version-history":[{"count":25,"href":"https:\/\/www.yohz.com\/blogs\/wp-json\/wp\/v2\/posts\/134\/revisions"}],"predecessor-version":[{"id":355,"href":"https:\/\/www.yohz.com\/blogs\/wp-json\/wp\/v2\/posts\/134\/revisions\/355"}],"wp:attachment":[{"href":"https:\/\/www.yohz.com\/blogs\/wp-json\/wp\/v2\/media?parent=134"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.yohz.com\/blogs\/wp-json\/wp\/v2\/categories?post=134"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.yohz.com\/blogs\/wp-json\/wp\/v2\/tags?post=134"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}