{"id":11122,"date":"2018-04-26T05:05:21","date_gmt":"2018-04-26T03:05:21","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/deploying-postgresql-in-minishiftopenshift\/"},"modified":"2018-04-26T05:05:21","modified_gmt":"2018-04-26T03:05:21","slug":"deploying-postgresql-in-minishiftopenshift","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/deploying-postgresql-in-minishiftopenshift\/","title":{"rendered":"Deploying PostgreSQL in MiniShift\/OpenShift"},"content":{"rendered":"<p>The <a href=\"https:\/\/www.dbi-services.com\/blog\/testing-edb-containers-with-minishift\/\" target=\"_blank\">last post<\/a> quickly outlined on how you can setup MiniShift for playing around with OpenShift on your workstation. In this post we&#8217;ll setup PostgreSQL in MiniShift using the default PostgreSQL image that already comes with MiniShift. <\/p>\n<p><!--more--><\/p>\n<p>When MiniShift is currently stopped start it up:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\ndwe@box:~$ minishift start\ndwe@box:~$ eval $(minishift oc-env)\ndwe@box:~$ which oc\n\/home\/dwe\/.minishift\/cache\/oc\/v3.9.0\/linux\/oc\n<\/pre>\n<p>With OpenShift everything is organized into projects and the first thing you need to do is to create a project. You can either do that using the command line or the web interface. Doing it using the command line is quite simple and fast. The first step is to login to OpenShift:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\ndwe@box:~$ oc login\nAuthentication required for https:\/\/192.168.99.100:8443 (openshift)\nUsername: system\nPassword: \nLogin successful.\n\nYou don't have any projects. You can try to create a new project, by running\n\n    oc new-project \n<\/pre>\n<p>The output of the login command already tells what you need to do to create a new project:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\ndwe@box:~$ oc new-project postgres\nNow using project \"postgres\" on server \"https:\/\/192.168.99.100:8443\".\n\nYou can add applications to this project with the 'new-app' command. For example, try:\n\n    oc new-app centos\/ruby-22-centos7~https:\/\/github.com\/openshift\/ruby-ex.git\n\nto build a new example application in Ruby.\n<\/pre>\n<p>Doing the same with the web interface of course needs more time:<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_043-2.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_043-2.png\" alt=\"Selection_043\" width=\"1876\" height=\"733\" class=\"aligncenter size-full wp-image-22736\" \/><\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_044-3.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_044-3.png\" alt=\"Selection_044\" width=\"1903\" height=\"852\" class=\"aligncenter size-full wp-image-22737\" \/><\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_045-3.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_045-3.png\" alt=\"Selection_045\" width=\"1891\" height=\"793\" class=\"aligncenter size-full wp-image-22738\" \/><\/a><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_046-3.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_046-3.png\" alt=\"Selection_046\" width=\"1910\" height=\"823\" class=\"aligncenter size-full wp-image-22739\" \/><\/a><\/p>\n<p>To get a list of available images from the command line:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\ndwe@box:~$ oc get imagestreams --namespace openshift\nNAME             DOCKER REPO                                TAGS                           UPDATED\ndotnet           172.30.1.1:5000\/openshift\/dotnet           2.0,latest                     4 hours ago\ndotnet-runtime   172.30.1.1:5000\/openshift\/dotnet-runtime   2.0,latest                     4 hours ago\nhttpd            172.30.1.1:5000\/openshift\/httpd            2.4,latest                     4 hours ago\njenkins          172.30.1.1:5000\/openshift\/jenkins          1,2,latest                     4 hours ago\nmariadb          172.30.1.1:5000\/openshift\/mariadb          10.1,10.2,latest               4 hours ago\nmongodb          172.30.1.1:5000\/openshift\/mongodb          2.4,2.6,3.2 + 2 more...        4 hours ago\nmysql            172.30.1.1:5000\/openshift\/mysql            5.5,5.6,5.7 + 1 more...        4 hours ago\nnginx            172.30.1.1:5000\/openshift\/nginx            1.10,1.12,1.8 + 1 more...      4 hours ago\nnodejs           172.30.1.1:5000\/openshift\/nodejs           8,latest,0.10 + 2 more...      4 hours ago\nperl             172.30.1.1:5000\/openshift\/perl             5.24,latest,5.16 + 1 more...   4 hours ago\nphp              172.30.1.1:5000\/openshift\/php              5.5,5.6,7.0 + 2 more...        4 hours ago\npostgresql       172.30.1.1:5000\/openshift\/postgresql       9.2,9.4,9.5 + 2 more...        4 hours ago\npython           172.30.1.1:5000\/openshift\/python           3.3,3.4,3.5 + 3 more...        4 hours ago\nredis            172.30.1.1:5000\/openshift\/redis            3.2,latest                     4 hours ago\nruby             172.30.1.1:5000\/openshift\/ruby             2.0,2.2,2.3 + 2 more...        4 hours ago\nwildfly          172.30.1.1:5000\/openshift\/wildfly          10.1,8.1,9.0 + 2 more...       4 hours ago\n<\/pre>\n<p>Quite a few to choose from but we of course are interested in the postgresql one.<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\ndwe@box:~$ oc new-app -e POSTGRESQL_USER=blubb -e POSTGRESQL_PASSWORD=blubb -e POSTGRESQL_DATABASE=blubb postgresql\n<\/pre>\n<p>Checking the logs is always a good idea. For this we need to know the <a href=\"https:\/\/docs.openshift.com\/enterprise\/3.0\/architecture\/core_concepts\/pods_and_services.html\" target=\"_blank\">pod<\/a>:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\ndwe@box:~$ oc get pods\nNAME                 READY     STATUS    RESTARTS   AGE\npostgresql-1-8n85h   1\/1       Running   0          5m\n<\/pre>\n<p>Now that we know the pod we can ask for the logs:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\ndwe@box:~$ oc logs postgresql-1-8n85h\nThe files belonging to this database system will be owned by user \"postgres\".\nThis user must also own the server process.\n\nThe database cluster will be initialized with locale \"en_US.utf8\".\nThe default database encoding has accordingly been set to \"UTF8\".\nThe default text search configuration will be set to \"english\".\n\nData page checksums are disabled.\n\nfixing permissions on existing directory \/var\/lib\/pgsql\/data\/userdata ... ok\ncreating subdirectories ... ok\nselecting default max_connections ... 100\nselecting default shared_buffers ... 128MB\nselecting dynamic shared memory implementation ... posix\ncreating configuration files ... ok\nrunning bootstrap script ... ok\nperforming post-bootstrap initialization ... ok\nsyncing data to disk ... ok\n\nSuccess. You can now start the database server using:\n\n    pg_ctl -D \/var\/lib\/pgsql\/data\/userdata -l logfile start\n\n\nWARNING: enabling \"trust\" authentication for local connections\nYou can change this by editing pg_hba.conf or using the option -A, or\n--auth-local and --auth-host, the next time you run initdb.\nwaiting for server to start....LOG:  redirecting log output to logging collector process\nHINT:  Future log output will appear in directory \"pg_log\".\n done\nserver started\n=&gt; sourcing \/usr\/share\/container-scripts\/postgresql\/start\/set_passwords.sh ...\nALTER ROLE\nwaiting for server to shut down.... done\nserver stopped\nStarting server...\nLOG:  redirecting log output to logging collector process\nHINT:  Future log output will appear in directory \"pg_log\".\n<\/pre>\n<p>Looks good so far. How can we work with the PostgreSQL instance now? One way is to start a remote shell:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\ndwe@box:~$ oc rsh postgresql-1-8n85h\nsh-4.2$ ps -ef\nUID        PID  PPID  C STIME TTY          TIME CMD\n1000100+     1     0  0 13:29 ?        00:00:00 postgres\n1000100+    57     1  0 13:29 ?        00:00:00 postgres: logger process  \n1000100+    59     1  0 13:29 ?        00:00:00 postgres: checkpointer process  \n1000100+    60     1  0 13:29 ?        00:00:00 postgres: writer process  \n1000100+    61     1  0 13:29 ?        00:00:00 postgres: wal writer process  \n1000100+    62     1  0 13:29 ?        00:00:00 postgres: autovacuum launcher pr\n1000100+    63     1  0 13:29 ?        00:00:00 postgres: stats collector proces\n1000100+    85     0  0 13:46 ?        00:00:00 \/bin\/sh\n\nsh-4.2$ psql -c \"\\l\"\n                                 List of databases\n   Name    |  Owner   | Encoding |  Collate   |   Ctype    |   Access privileges\n   \n-----------+----------+----------+------------+------------+--------------------\n---\n blubb     | blubb    | UTF8     | en_US.utf8 | en_US.utf8 | \n postgres  | postgres | UTF8     | en_US.utf8 | en_US.utf8 | \n template0 | postgres | UTF8     | en_US.utf8 | en_US.utf8 | =c\/postgres        \n  +\n           |          |          |            |            | postgres=CTc\/postgr\nes\n template1 | postgres | UTF8     | en_US.utf8 | en_US.utf8 | =c\/postgres        \n  +\n           |          |          |            |            | postgres=CTc\/postgr\nes\n(4 rows)\n<\/pre>\n<p>This is usually not what you want to do. What you rather want is to make the instance available from outside the cluster. How can you do that? Either you do port forwarding:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\ndwe@box:~$ oc port-forward postgresql-1-8n85h 5432\nForwarding from 127.0.0.1:5432 -&gt; 5432\n<\/pre>\n<p>This will stay in the foreground. From another session you can use psql to connect:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\ndwe@box:~$ psql -h localhost -U blubb blubb\npsql (9.5.12, server 9.6.5)\nWARNING: psql major version 9.5, server major version 9.6.\n         Some psql features might not work.\nType \"help\" for help.\n\nblubb=&gt; \n<\/pre>\n<p>&#8230; or you can expose a service:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\ndwe@box:~$ oc expose dc postgresql --type=LoadBalancer --name=mpostgresql-ingress\nservice \"mpostgresql-ingress\" exposed\ndwe@box:~$ oc get svc\nNAME                  TYPE           CLUSTER-IP     EXTERNAL-IP                     PORT(S)          AGE\nmpostgresql-ingress   LoadBalancer   172.30.15.98   172.29.104.134,172.29.104.134   5432:31734\/TCP   38s\n<\/pre>\n<p>From now on you can connect using the MiniShift IP and the port listed above:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\ndwe@box:~$ psql -h $(minishift ip) -p 31734 -U blubb\nPassword for user blubb: \npsql (9.5.12, server 9.6.5)\nWARNING: psql major version 9.5, server major version 9.6.\n         Some psql features might not work.\nType \"help\" for help.\n\nblubb=&gt; \\l\n                                 List of databases\n   Name    |  Owner   | Encoding |  Collate   |   Ctype    |   Access privileges   \n-----------+----------+----------+------------+------------+-----------------------\n blubb     | blubb    | UTF8     | en_US.utf8 | en_US.utf8 | \n postgres  | postgres | UTF8     | en_US.utf8 | en_US.utf8 | \n template0 | postgres | UTF8     | en_US.utf8 | en_US.utf8 | =c\/postgres          +\n           |          |          |            |            | postgres=CTc\/postgres\n template1 | postgres | UTF8     | en_US.utf8 | en_US.utf8 | =c\/postgres          +\n           |          |          |            |            | postgres=CTc\/postgres\n(4 rows)\n\nblubb=&gt; \n<\/pre>\n<p>Be aware that the storage is not persistent in that case and you&#8217;ll lose everything when the container is stopped. In the next post we&#8217;ll look into how we can deploy the containers which are provided by EnterpriseDB.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The last post quickly outlined on how you can setup MiniShift for playing around with OpenShift on your workstation. In this post we&#8217;ll setup PostgreSQL in MiniShift using the default PostgreSQL image that already comes with MiniShift.<\/p>\n","protected":false},"author":29,"featured_media":11123,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[229],"tags":[1343,1344,77],"type_dbi":[],"class_list":["post-11122","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-database-administration-monitoring","tag-minishift","tag-openshift","tag-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>Deploying PostgreSQL in MiniShift\/OpenShift - 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\/deploying-postgresql-in-minishiftopenshift\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Deploying PostgreSQL in MiniShift\/OpenShift\" \/>\n<meta property=\"og:description\" content=\"The last post quickly outlined on how you can setup MiniShift for playing around with OpenShift on your workstation. In this post we&#8217;ll setup PostgreSQL in MiniShift using the default PostgreSQL image that already comes with MiniShift.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/deploying-postgresql-in-minishiftopenshift\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2018-04-26T03:05:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_043-2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1876\" \/>\n\t<meta property=\"og:image:height\" content=\"733\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/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=\"5 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\/deploying-postgresql-in-minishiftopenshift\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/deploying-postgresql-in-minishiftopenshift\/\"},\"author\":{\"name\":\"Daniel Westermann\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66\"},\"headline\":\"Deploying PostgreSQL in MiniShift\/OpenShift\",\"datePublished\":\"2018-04-26T03:05:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/deploying-postgresql-in-minishiftopenshift\/\"},\"wordCount\":318,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/deploying-postgresql-in-minishiftopenshift\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_043-2.png\",\"keywords\":[\"MiniShift\",\"OpenShift\",\"PostgreSQL\"],\"articleSection\":[\"Database Administration &amp; Monitoring\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/deploying-postgresql-in-minishiftopenshift\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/deploying-postgresql-in-minishiftopenshift\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/deploying-postgresql-in-minishiftopenshift\/\",\"name\":\"Deploying PostgreSQL in MiniShift\/OpenShift - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/deploying-postgresql-in-minishiftopenshift\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/deploying-postgresql-in-minishiftopenshift\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_043-2.png\",\"datePublished\":\"2018-04-26T03:05:21+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/deploying-postgresql-in-minishiftopenshift\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/deploying-postgresql-in-minishiftopenshift\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/deploying-postgresql-in-minishiftopenshift\/#primaryimage\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_043-2.png\",\"contentUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_043-2.png\",\"width\":1876,\"height\":733},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/deploying-postgresql-in-minishiftopenshift\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Deploying PostgreSQL in MiniShift\/OpenShift\"}]},{\"@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":"Deploying PostgreSQL in MiniShift\/OpenShift - 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\/deploying-postgresql-in-minishiftopenshift\/","og_locale":"en_US","og_type":"article","og_title":"Deploying PostgreSQL in MiniShift\/OpenShift","og_description":"The last post quickly outlined on how you can setup MiniShift for playing around with OpenShift on your workstation. In this post we&#8217;ll setup PostgreSQL in MiniShift using the default PostgreSQL image that already comes with MiniShift.","og_url":"https:\/\/www.dbi-services.com\/blog\/deploying-postgresql-in-minishiftopenshift\/","og_site_name":"dbi Blog","article_published_time":"2018-04-26T03:05:21+00:00","og_image":[{"width":1876,"height":733,"url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_043-2.png","type":"image\/png"}],"author":"Daniel Westermann","twitter_card":"summary_large_image","twitter_creator":"@westermanndanie","twitter_misc":{"Written by":"Daniel Westermann","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/deploying-postgresql-in-minishiftopenshift\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/deploying-postgresql-in-minishiftopenshift\/"},"author":{"name":"Daniel Westermann","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66"},"headline":"Deploying PostgreSQL in MiniShift\/OpenShift","datePublished":"2018-04-26T03:05:21+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/deploying-postgresql-in-minishiftopenshift\/"},"wordCount":318,"commentCount":0,"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/deploying-postgresql-in-minishiftopenshift\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_043-2.png","keywords":["MiniShift","OpenShift","PostgreSQL"],"articleSection":["Database Administration &amp; Monitoring"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/deploying-postgresql-in-minishiftopenshift\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/deploying-postgresql-in-minishiftopenshift\/","url":"https:\/\/www.dbi-services.com\/blog\/deploying-postgresql-in-minishiftopenshift\/","name":"Deploying PostgreSQL in MiniShift\/OpenShift - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/deploying-postgresql-in-minishiftopenshift\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/deploying-postgresql-in-minishiftopenshift\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_043-2.png","datePublished":"2018-04-26T03:05:21+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/deploying-postgresql-in-minishiftopenshift\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/deploying-postgresql-in-minishiftopenshift\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/deploying-postgresql-in-minishiftopenshift\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_043-2.png","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/Selection_043-2.png","width":1876,"height":733},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/deploying-postgresql-in-minishiftopenshift\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Deploying PostgreSQL in MiniShift\/OpenShift"}]},{"@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\/11122","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=11122"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/11122\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media\/11123"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=11122"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=11122"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=11122"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=11122"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}