{"id":7731,"date":"2022-11-16T18:20:05","date_gmt":"2022-11-16T23:20:05","guid":{"rendered":"https:\/\/www.jitendrazaa.com\/blog\/?p=7731"},"modified":"2023-07-31T15:46:16","modified_gmt":"2023-07-31T19:46:16","slug":"working-with-postgresql-on-mac-locally","status":"publish","type":"post","link":"https:\/\/www.jitendrazaa.com\/blog\/integration\/mulesoft\/working-with-postgresql-on-mac-locally\/","title":{"rendered":"Working with PostgreSQL on Mac locally"},"content":{"rendered":"\n<p>Working with data is always fun &amp; we have many options to store data and perform analysis. In the context of Salesforce, we can use a data loader and export data in CSV files however analyzing CSV files could be daunting. My favorite method is to use <a href=\"https:\/\/www.jitendrazaa.com\/blog\/?s=mulesoft\">Mulesoft<\/a> and <a href=\"https:\/\/www.jitendrazaa.com\/blog\/?s=postgresql\">PostgreSQL<\/a> to analyze data. <\/p>\n\n\n\n<p>I like free stuff, free databases, however, I don&#8217;t like slower systems. In this post, I will share my quick tips on how I install PostgreSQL and start &amp; stop service as needed so that my system is not using resources when I&#8217;m not working on PostgreSQL. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Install, Start &amp; Stop PostgreSQL<\/h2>\n\n\n\n<p>The most convenient way to install a database is using the <a href=\"https:\/\/brew.sh\/\">Homebrew<\/a> command<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>brew install postgresql@14<\/code><\/pre>\n\n\n\n<p>Use the below command, when you would like to start database services<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>brew services start postgresql@14<\/code><\/pre>\n\n\n\n<p>and below command, if you are done with PostgreSQL so that system is not using unnecessary memory or CPU in background services<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>brew services stop postgresql@14<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Install PGAdmin &#8211; Graphical Interface for Database Management<\/h2>\n\n\n\n<p>If you need a graphical interface to work with PostgreSQL, install <a href=\"https:\/\/formulae.brew.sh\/cask\/pgadmin4#default\">pgadmin4<\/a> using the below command<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>brew install --cask pgadmin4<\/code><\/pre>\n\n\n\n<p>Once installation is done, refer below images to setup a connection with localhost<\/p>\n\n\n\n<!--more-->\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"704\" src=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2022\/11\/PGAdmin-Connect-to-localhost-1.png?resize=640%2C704&#038;ssl=1\" alt=\"\" class=\"wp-image-7733\" srcset=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2022\/11\/PGAdmin-Connect-to-localhost-1.png?w=640&amp;ssl=1 640w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2022\/11\/PGAdmin-Connect-to-localhost-1.png?resize=273%2C300&amp;ssl=1 273w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><figcaption class=\"wp-element-caption\">Pgadmin connecting to localhost<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"631\" height=\"696\" src=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2022\/11\/PGAdmin-Connect-to-localhost-2.png?resize=631%2C696&#038;ssl=1\" alt=\"\" class=\"wp-image-7734\" srcset=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2022\/11\/PGAdmin-Connect-to-localhost-2.png?w=631&amp;ssl=1 631w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2022\/11\/PGAdmin-Connect-to-localhost-2.png?resize=272%2C300&amp;ssl=1 272w\" sizes=\"auto, (max-width: 631px) 100vw, 631px\" \/><figcaption class=\"wp-element-caption\">pgadmin creating connection<\/figcaption><\/figure>\n\n\n\n<p>By default password is blank for newly created PostgreSQL<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Mulesoft Connection with PostgreSQL<\/h2>\n\n\n\n<p>Refer below image for settings<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>URL : jdbc:PostgreSQL:\/\/localhost:5432\/postgres<\/li>\n\n\n\n<li>URL format : jdbc:PostgreSQL:\/\/localhost:&lt;Port Number&gt;\/&lt;databasename&gt;<\/li>\n\n\n\n<li>Driver Class Name : org.postgresql.Driver<\/li>\n<\/ul>\n\n\n\n<p> <\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"807\" height=\"810\" src=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2022\/11\/Mulesoft-and-PostgreSQL-String.png?resize=807%2C810&#038;ssl=1\" alt=\"\" class=\"wp-image-7735\" srcset=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2022\/11\/Mulesoft-and-PostgreSQL-String.png?w=807&amp;ssl=1 807w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2022\/11\/Mulesoft-and-PostgreSQL-String.png?resize=300%2C300&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2022\/11\/Mulesoft-and-PostgreSQL-String.png?resize=150%2C150&amp;ssl=1 150w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2022\/11\/Mulesoft-and-PostgreSQL-String.png?resize=768%2C771&amp;ssl=1 768w\" sizes=\"auto, (max-width: 807px) 100vw, 807px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Other PostgreSQL-related Commands<\/h2>\n\n\n\n<p>Finding installation path<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ Which psql<\/code><\/pre>\n\n\n\n<p>Operating from the command line<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ psql postgres@14\n\/\/second parameter , in this case postgres is name of database<\/code><\/pre>\n\n\n\n<p>Get list of users in PostgreSQL<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\n$ psql postgres@14\n\nThen run command\n\\du \n<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"969\" height=\"231\" src=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2022\/11\/PostgreSQL-Users.png?resize=969%2C231&#038;ssl=1\" alt=\"\" class=\"wp-image-7736\" srcset=\"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2022\/11\/PostgreSQL-Users.png?w=969&amp;ssl=1 969w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2022\/11\/PostgreSQL-Users.png?resize=300%2C72&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2022\/11\/PostgreSQL-Users.png?resize=768%2C183&amp;ssl=1 768w\" sizes=\"auto, (max-width: 969px) 100vw, 969px\" \/><\/figure>\n\n\n\n<p>Command to create a new user with super privilege <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CREATE USER postgres SUPERUSER;\nCREATE DATABASE postgres WITH OWNER postgres;  <\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Check if PLSQL is working or not<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>> brew services list<br><\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Uninstalling PostgreSQL<\/h2>\n\n\n\n<p>Run below commands<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/Check if instance is running \n$ launchctl list | grep -i sql\n\n\/\/Stop instance \n$ brew services stop postgres@14\n\n\/\/Remove PostgreSQL and all related files\n$ brew uninstall --force postgres\n$ rm -rf \/usr\/local\/var\/postgres\n$ rm -rf .psql_history .psqlrc .psql.local .pgpass .psqlrc.local\n$ brew cleanup\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>This post walkthrough installing PostgreSQL, PGAdmin, starting &#038; stopping service as need and Mulesoft tips<\/p>\n","protected":false},"author":1,"featured_media":7738,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"jz_research_post":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[454],"tags":[541,539,70,540,456,276],"class_list":["post-7731","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mulesoft","tag-brew","tag-dall-e-ai","tag-database","tag-homebrew","tag-mulesoft","tag-postgresql"],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2022\/11\/Working-with-PostgreSQL-on-Mac-locally.png?fit=1024%2C1024&ssl=1","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":4047,"url":"https:\/\/www.jitendrazaa.com\/blog\/webtech\/how-to-use-postgresql-in-nodejs\/","url_meta":{"origin":7731,"position":0},"title":"How to use PostgreSQL in Nodejs","author":"Jitendra","date":"November 17, 2014","format":false,"excerpt":"I have written many articles on Node.js and AngularJs. In this article, I will demonstrate how to use PostgreSQL with Node.js and deploy on Heroku. I think you already smelled that this is one of starting article which will finally merged with Salesforce to create some cool application. Assuming you\u2026","rel":"","context":"In &quot;Node.js&quot;","block_context":{"text":"Node.js","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/others\/node-js\/"},"img":{"alt_text":"PostgreSQL in Node.js","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2014\/11\/PostgreSQL-in-Node.js.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2014\/11\/PostgreSQL-in-Node.js.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2014\/11\/PostgreSQL-in-Node.js.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]},{"id":6429,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/heroku\/access-heroku-postgresql-database-locally-using-docker\/","url_meta":{"origin":7731,"position":1},"title":"Access Heroku PostgreSQL Database Locally using Docker","author":"Jitendra","date":"March 11, 2018","format":false,"excerpt":"How to use Heroku Postgres Database from any third party application or local server","rel":"","context":"In &quot;Heroku&quot;","block_context":{"text":"Heroku","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/heroku\/"},"img":{"alt_text":"Heroku Postgres from local PHP Server","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2018\/03\/Heroku-Postgres-from-local-PHP-Server.gif?fit=594%2C674&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2018\/03\/Heroku-Postgres-from-local-PHP-Server.gif?fit=594%2C674&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2018\/03\/Heroku-Postgres-from-local-PHP-Server.gif?fit=594%2C674&ssl=1&resize=525%2C300 1.5x"},"classes":[]},{"id":6759,"url":"https:\/\/www.jitendrazaa.com\/blog\/salesforce\/docker-cheat-sheet\/","url_meta":{"origin":7731,"position":2},"title":"Docker Cheat sheet","author":"Jitendra","date":"January 25, 2019","format":false,"excerpt":"Frequently used docker commands and cheatsheet","rel":"","context":"In &quot;Salesforce&quot;","block_context":{"text":"Salesforce","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/salesforce\/"},"img":{"alt_text":"Docker cheat sheet","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2019\/01\/Docker-cheat-sheet.png?fit=1200%2C553&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2019\/01\/Docker-cheat-sheet.png?fit=1200%2C553&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2019\/01\/Docker-cheat-sheet.png?fit=1200%2C553&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2019\/01\/Docker-cheat-sheet.png?fit=1200%2C553&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2019\/01\/Docker-cheat-sheet.png?fit=1200%2C553&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":7741,"url":"https:\/\/www.jitendrazaa.com\/blog\/integration\/mulesoft\/salesforce-bulk-api-2-using-mulesoft\/","url_meta":{"origin":7731,"position":3},"title":"Salesforce Bulk API 2 using Mulesoft","author":"Jitendra","date":"November 20, 2022","format":false,"excerpt":"Demo of using Bulk API 2 & Solving most common errors","rel":"","context":"In &quot;Mulesoft&quot;","block_context":{"text":"Mulesoft","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/integration\/mulesoft\/"},"img":{"alt_text":"Bulk API 2 using MuleSoft","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2022\/11\/Bulk-API-2-using-Mulesoft.png?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2022\/11\/Bulk-API-2-using-Mulesoft.png?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2022\/11\/Bulk-API-2-using-Mulesoft.png?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2022\/11\/Bulk-API-2-using-Mulesoft.png?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2022\/11\/Bulk-API-2-using-Mulesoft.png?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":6739,"url":"https:\/\/www.jitendrazaa.com\/blog\/integration\/process-pipe-delimited-file-in-mulesoft-3\/","url_meta":{"origin":7731,"position":4},"title":"Use pipe delimited file to upsert record in Mulesoft 3","author":"Jitendra","date":"January 24, 2019","format":false,"excerpt":"Use Mulesoft to upsert record in Salesforce using Pipe delimited file","rel":"","context":"In &quot;Integration&quot;","block_context":{"text":"Integration","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/integration\/"},"img":{"alt_text":"Upsert record in Salesforce using Mulesoft","src":"https:\/\/i0.wp.com\/www.jitendrazaa.com\/blog\/wp-content\/uploads\/2019\/01\/Upsert-record-in-Salesforce-using-Mulesoft.png?fit=500%2C215&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":6863,"url":"https:\/\/www.jitendrazaa.com\/blog\/integration\/mulesoft\/mulesoft-live-demo-alpharetta-developer-group-meet\/","url_meta":{"origin":7731,"position":5},"title":"Introduction to Mulesoft with Example &#8211; Alpharetta Developer Group Meet","author":"Jitendra","date":"June 17, 2019","format":false,"excerpt":"Slides and Video from Alpharetta Developer group meet - Loading data in Salesforce using Mulesoft 4","rel":"","context":"In &quot;Mulesoft&quot;","block_context":{"text":"Mulesoft","link":"https:\/\/www.jitendrazaa.com\/blog\/category\/integration\/mulesoft\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/img.youtube.com\/vi\/sqWLC2I8Ozg\/0.jpg?resize=350%2C200","width":350,"height":200},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts\/7731","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/comments?post=7731"}],"version-history":[{"count":4,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts\/7731\/revisions"}],"predecessor-version":[{"id":7826,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/posts\/7731\/revisions\/7826"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/media\/7738"}],"wp:attachment":[{"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/media?parent=7731"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/categories?post=7731"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jitendrazaa.com\/blog\/wp-json\/wp\/v2\/tags?post=7731"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}