{"id":29697,"date":"2023-12-13T08:58:42","date_gmt":"2023-12-13T07:58:42","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=29697"},"modified":"2023-12-14T14:03:27","modified_gmt":"2023-12-14T13:03:27","slug":"new-postgresql-service-in-oci","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/new-postgresql-service-in-oci\/","title":{"rendered":"New PostgreSQL service in OCI"},"content":{"rendered":"\n<p>PostgreSQL, an open-source relational database management system, offers robust features and capabilities for data storage and management. Deploying PostgreSQL within the Oracle Cloud Infrastructure (OCI) provides a scalable and reliable environment. In this guide, we&#8217;ll explore the process of setting up PostgreSQL in OCI. We will also push a bit more to learn how backup\/restore and failover works.<\/p>\n\n\n\n<p>Let&#8217;s discover the new PostgreSQL service available in OCI \ud83d\ude42<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-prerequisite\">Prerequisite<\/h2>\n\n\n\n<p>For this training, you need an OCI account, of course. You also need a VM with the OCI CLI, as not everything is manageable from the GUI, like the possibility to a do a failover for example. <br>I\u2019m personally running an instance with a Rocky 9 image.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-deploying-postgresql-in-oci-with-the-gui\">Deploying PostgreSQL in OCI with the GUI<\/h2>\n\n\n\n<p>From the sidebar navigation, go to Databases &gt; PostgreSQL &gt; databases and then click on \u201cCreate PostgreSQL Database system\u201d. As we are doing a project from scratch, you can continue with the default installation \u201cCreate new Database system\u201d.<br>Now, you can update all the necessary fields: Database system configuration, Network configuration, Database system administrator credentials.<br>The PostgreSQL service necessitates a private IP as it can&#8217;t be deployed on a public subnet. To connect to it, you&#8217;ll need to create a computed instance in a public subnet. In your VCN, don&#8217;t forget to add an ingress rule to allow the traffic with port 5432 for your private subnet.<\/p>\n\n\n\n<p>You can also notice that the only available version for PostgreSQL is the major version 14, which is two major version behind the current version.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"923\" height=\"465\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/image.png\" alt=\"\" class=\"wp-image-29701\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/image.png 923w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/image-300x151.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/image-768x387.png 768w\" sizes=\"auto, (max-width: 923px) 100vw, 923px\" \/><\/figure>\n\n\n\n<p>Note that during this process you can also chose the number of nodes you want to deploy. By default you have only one node, which will be the primary of your PostgreSQL cluster.<\/p>\n\n\n\n<p>At the same time, you can initiate the creation of an instance with a public IP. It will be used later to connect to the PostgreSQL cluster and to issue OCI related commands.<br>The DBSystem creation took me approximately 8 minutes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-installation-of-oci-cli-and-postgresql-cli\">Installation of OCI CLI and PostgreSQL CLI<\/h2>\n\n\n\n<p>Once the computed instance with a public IP is deployed, the next step involves installing the OCI CLI and the PostgreSQL CLI.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#091;rocky@pg-service-jumphost-frj ~]$ bash -c \"$(curl -L https:\/\/raw.githubusercontent.com\/oracle\/oci-cli\/master\/scripts\/install\/install.sh)\"\n&#091;rocky@pg-service-jumphost-frj ~]$ sudo dnf install -y https:\/\/download.postgresql.org\/pub\/repos\/yum\/reporpms\/EL-9-x86_64\/pgdg-redhat-repo-latest.noarch.rpm\n&#091;rocky@pg-service-jumphost-frj ~]$ sudo dnf install -y postgresql14-server\n<\/code><\/pre>\n\n\n\n<p>To issue commands on your OCI environment, you need to setup the OCI config file.<br>The easiest way to do it is to go to your OCI user profile and then into the API keys section. When creating a new key, it will give you a config file template. You then just need to edit the path to your private key file.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#091;rocky@pg-service-jumphost-frj ~]$ cat .oci\/config\n&#091;DEFAULT]\nuser=ocid1.user.oc1..aaa*********************************************7dg4zf4****ma\nfingerprint=c3:3c:*************************************:ea:4e:89\ntenancy=ocid1.tenancy.oc1..aa***aa**********************************************uiofira\nregion=eu-zurich-1\nkey_file=\/home\/rocky\/.ssh\/joan.***********************************************8Z.pem\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-retrieving-ip-endpoint-and-connection-attempt\">Retrieving IP Endpoint and Connection Attempt<\/h2>\n\n\n\n<p>Once your database system is ready, fetch the IP endpoint from the PostgreSQL Database system. Try to connect to your cluster with `psql` using the command:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#091;rocky@pg-service-jumphost-frj ~]$ psql -h 10.0.1.173 -U postgres -d postgres\nPassword for user postgres:\npsql (14.10, server 14.9)\nSSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)\nType \"help\" for help.\n\npostgres=&gt;\n<\/code><\/pre>\n\n\n\n<p>If the connection fails, double check your network configuration and security policy.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-creating-a-replica-node\">Creating a Replica Node<\/h2>\n\n\n\n<p>Creating a replica by adding a node is a crucial step in PostgreSQL deployment in OCI. This process generally takes around 8 minutes. In PostgreSQL&gt;Database systems&gt;Database system details click the button \u201cAdd node\u201d.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"923\" height=\"385\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/image-1.png\" alt=\"\" class=\"wp-image-29707\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/image-1.png 923w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/image-1-300x125.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/image-1-768x320.png 768w\" sizes=\"auto, (max-width: 923px) 100vw, 923px\" \/><\/figure>\n\n\n\n<p>Once created, if you go to the detail of each node, you can see that they have a private IP address. You can directly connect to the desired node using this IP. By default, if you use the endpoint IP of the DBSystem, it\u2019ll connect you to the primary instance.<\/p>\n\n\n\n<p>To verify the replication between the two nodes, create a database on your primary instance.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>postgres=&gt; create database sephiroth;\nCREATE DATABASE\npostgres=&gt; \\l\n                                         List of databases\n   Name    |     Owner     | Encoding |   Collate   |    Ctype    |        Access privileges\n-----------+---------------+----------+-------------+-------------+---------------------------------\n postgres  | oci_superuser | UTF8     | en_US.UTF-8 | en_US.UTF-8 |\n sephiroth | postgres      | UTF8     | en_US.UTF-8 | en_US.UTF-8 |\n template0 | oci_superuser | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c\/oci_superuser               +\n           |               |          |             |             | oci_superuser=CTc\/oci_superuser\n template1 | oci_superuser | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c\/oci_superuser               +\n           |               |          |             |             | oci_superuser=CTc\/oci_superuser\n<\/code><\/pre>\n\n\n\n<p>The database should have been replicated to the second node.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#091;rocky@pg-service-jumphost-frj ~]$ psql -h 10.0.1.125 -U postgres -d postgres\nPassword for user postgres:\npsql (14.10, server 14.9)\nSSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)\nType \"help\" for help.\n\npostgres=&gt; select pg_is_in_recovery();\n pg_is_in_recovery\n-------------------\n t\n(1 row)\n\npostgres=&gt; \\l\n                                         List of databases\n   Name    |     Owner     | Encoding |   Collate   |    Ctype    |        Access privileges\n-----------+---------------+----------+-------------+-------------+---------------------------------\n postgres  | oci_superuser | UTF8     | en_US.UTF-8 | en_US.UTF-8 |\n sephiroth | postgres      | UTF8     | en_US.UTF-8 | en_US.UTF-8 |\n template0 | oci_superuser | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c\/oci_superuser               +\n           |               |          |             |             | oci_superuser=CTc\/oci_superuser\n template1 | oci_superuser | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c\/oci_superuser               +\n           |               |          |             |             | oci_superuser=CTc\/oci_superuser\n<\/code><\/pre>\n\n\n\n<p>From what I could observe and find on various blogs\/documentation, the PostgreSQL service from OCI use an asynchronous physical standby replication inside the same Availability Domain.&nbsp;<br>At the end of this blog, I will add some useful links that speak about this topic.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-backup-and-restore\">Backup and restore<\/h2>\n\n\n\n<p>Once connected successfully, various database operations can be performed. Let\u2019s try to see how backup and restore performs.<\/p>\n\n\n\n<p>Still on the OCI website, click on the \u201cCreate backup\u201d button. You can control the status of your backup.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"923\" height=\"120\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/image-2.png\" alt=\"\" class=\"wp-image-29709\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/image-2.png 923w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/image-2-300x39.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/image-2-768x100.png 768w\" sizes=\"auto, (max-width: 923px) 100vw, 923px\" \/><\/figure>\n\n\n\n<p>When the backup is done, connect to your cluster and drop the database you just created. Click on the Restore button to restore your backup and verify that the database has been restored.<\/p>\n\n\n\n<p>Bonus: If you stay connected to a PostgreSQL node while starting the restore process, it will automatically terminate the existing connections and attempt to reset them after the restore.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>postgres=&gt; drop database sephiroth ;\nDROP DATABASE\npostgres=&gt; \\l\nFATAL:  terminating connection due to administrator command\nSSL connection has been closed unexpectedly\nThe connection to the server was lost. Attempting reset: Succeeded.\npsql (14.10, server 14.9)\nSSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)\npostgres=&gt; \\l\n                                         List of databases\n   Name    |     Owner     | Encoding |   Collate   |    Ctype    |        Access privileges\n-----------+---------------+----------+-------------+-------------+---------------------------------\n postgres  | oci_superuser | UTF8     | en_US.UTF-8 | en_US.UTF-8 |\n sephiroth | postgres      | UTF8     | en_US.UTF-8 | en_US.UTF-8 |\n template0 | oci_superuser | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c\/oci_superuser               +\n           |               |          |             |             | oci_superuser=CTc\/oci_superuser\n template1 | oci_superuser | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c\/oci_superuser               +\n           |               |          |             |             | oci_superuser=CTc\/oci_superuser\n(4 rows) \n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-failover-and-recovery\">Failover and Recovery<\/h2>\n\n\n\n<p>The failover process is critical for ensuring high availability. It\u2019s important to test it before setting up your cluster in production.<\/p>\n\n\n\n<p>You don\u2019t have an option to do a switchover or a failover through the OCI Website. I decided to try to delete the primary node, so that the replica becomes the new primary, but OCI implemented a protection and it\u2019s impossible to delete a primary node. I also noticed that it\u2019s impossible to delete a node if your Database system is not in an \u201cActive\u201d state.<\/p>\n\n\n\n<p>You can do a failover with the OCI CLI. The only required parameter is the DB system ID that you are trying to failover. You can use various option for the failover process, please have a look at the documentation.<\/p>\n\n\n\n<p><a href=\"https:\/\/docs.oracle.com\/en-us\/iaas\/tools\/oci-cli\/3.37.0\/oci_cli_docs\/cmdref\/psql\/db-system\/failover.html\">https:\/\/docs.oracle.com\/en-us\/iaas\/tools\/oci-cli\/3.37.0\/oci_cli_docs\/cmdref\/psql\/db-system\/failover.html<\/a><\/p>\n\n\n\n<p>In our case, we will also specify the Node ID of the instance we want to promote as the new primary. Quick reminder, here is our current setup:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"888\" height=\"187\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/image-3.png\" alt=\"\" class=\"wp-image-29712\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/image-3.png 888w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/image-3-300x63.png 300w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/image-3-768x162.png 768w\" sizes=\"auto, (max-width: 888px) 100vw, 888px\" \/><\/figure>\n\n\n\n<p>From your rocky jump host, initiate the failover command:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#091;rocky@pg-service-jumphost-frj ~]$ oci psql db-system failover --db-system-id \"ocid1.postgresqldbsystem.oc1.eu-zurich-1.amaaaaaa4p5qca********************************************wi7xhknw7q\" --db-instance-id \"5a0***ac-************************4a5c2706\"\n{\n  \"opc-work-request-id\": \"ocid1.postgresqlworkrequest.oc1.eu-zurich-1.amaaaaaa4p5q*******************************sxy44qa7xjq\"\n}\n<\/code><\/pre>\n\n\n\n<p>When I went to the Work requests to check the status of my failover, I saw the message \u201cWaiting for DbSystem to become ACTIVE again\u201d again and again. After a certain time, the status of the db system just change to Failed.<br>After my multiple tests, I had this issue every time I tried a failover after I tried a backup\/restore. When I tried the failover process directly after creating my DB system with two nodes, I faced no issues.<br>If you are encountering the same issue, I found no other way to fix it, than deleting the whole DB system, starting from scratch, and testing a failover after the DB system creation.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-conclusion\">Conclusion<\/h2>\n\n\n\n<p>Deploying PostgreSQL in the Oracle Cloud Infrastructure demands meticulous configuration and management steps. It involves provisioning, connectivity setup, replication testing, and failover management to ensure a robust and highly available database service. I feel like, at the moment, the PostgreSQL service is not totally operational but I\u2019m pretty sure that the issues I faced will be fixed in the future.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-useful-links\">Useful Links<\/h2>\n\n\n\n<p><a href=\"https:\/\/blogs.oracle.com\/cloud-infrastructure\/post\/first-principles-optimizing-postgresql-for-the-cloud\">https:\/\/blogs.oracle.com\/cloud-infrastructure\/post\/first-principles-optimizing-postgresql-for-the-cloud<\/a><br>https:\/\/blogs.oracle.com\/cloud-infrastructure\/post\/oci-database-postgres<br>https:\/\/medium.com\/oracledevs\/oci-database-with-postgresql-cheat-sheet-ee8173a0a2ba<br><\/p>\n","protected":false},"excerpt":{"rendered":"<p>PostgreSQL, an open-source relational database management system, offers robust features and capabilities for data storage and management. Deploying PostgreSQL within the Oracle Cloud Infrastructure (OCI) provides a scalable and reliable environment. In this guide, we&#8217;ll explore the process of setting up PostgreSQL in OCI. We will also push a bit more to learn how backup\/restore [&hellip;]<\/p>\n","protected":false},"author":87,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[198,2966,83],"tags":[135,1375,77],"type_dbi":[3189,3156,2749],"class_list":["post-29697","post","type-post","status-publish","format-standard","hentry","category-database-management","category-oci","category-postgresql","tag-cloud","tag-oci","tag-postgresql","type-cloud","type-oci","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>New PostgreSQL service in OCI - dbi Blog<\/title>\n<meta name=\"description\" content=\"Explore a comprehensive guide on installing and configuring PostgreSQL service in Oracle Cloud Infrastructure (OCI). Learn the step-by-step process of setting up PostgreSQL using GUI, CLI installation, creating replicas, backup, failover, and more\" \/>\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\/new-postgresql-service-in-oci\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"New PostgreSQL service in OCI\" \/>\n<meta property=\"og:description\" content=\"Explore a comprehensive guide on installing and configuring PostgreSQL service in Oracle Cloud Infrastructure (OCI). Learn the step-by-step process of setting up PostgreSQL using GUI, CLI installation, creating replicas, backup, failover, and more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/new-postgresql-service-in-oci\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2023-12-13T07:58:42+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-12-14T13:03:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/image.png\" \/>\n<meta name=\"author\" content=\"Joan Frey\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Joan Frey\" \/>\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\/new-postgresql-service-in-oci\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/new-postgresql-service-in-oci\/\"},\"author\":{\"name\":\"Joan Frey\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/c03c47649664fe73b27ce457e99f5b06\"},\"headline\":\"New PostgreSQL service in OCI\",\"datePublished\":\"2023-12-13T07:58:42+00:00\",\"dateModified\":\"2023-12-14T13:03:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/new-postgresql-service-in-oci\/\"},\"wordCount\":1121,\"commentCount\":1,\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/new-postgresql-service-in-oci\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/image.png\",\"keywords\":[\"Cloud\",\"OCI\",\"PostgreSQL\"],\"articleSection\":[\"Database management\",\"OCI\",\"PostgreSQL\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/new-postgresql-service-in-oci\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/new-postgresql-service-in-oci\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/new-postgresql-service-in-oci\/\",\"name\":\"New PostgreSQL service in OCI - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/new-postgresql-service-in-oci\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/new-postgresql-service-in-oci\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/image.png\",\"datePublished\":\"2023-12-13T07:58:42+00:00\",\"dateModified\":\"2023-12-14T13:03:27+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/c03c47649664fe73b27ce457e99f5b06\"},\"description\":\"Explore a comprehensive guide on installing and configuring PostgreSQL service in Oracle Cloud Infrastructure (OCI). Learn the step-by-step process of setting up PostgreSQL using GUI, CLI installation, creating replicas, backup, failover, and more\",\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/new-postgresql-service-in-oci\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/new-postgresql-service-in-oci\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/new-postgresql-service-in-oci\/#primaryimage\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/image.png\",\"contentUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/image.png\",\"width\":923,\"height\":465},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/new-postgresql-service-in-oci\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"New PostgreSQL service in OCI\"}]},{\"@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\/c03c47649664fe73b27ce457e99f5b06\",\"name\":\"Joan Frey\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/1e650cf665b4d44dd186355827c0b049d2f95c8cbb45fd10d4e7cb255be67ecb?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1e650cf665b4d44dd186355827c0b049d2f95c8cbb45fd10d4e7cb255be67ecb?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/1e650cf665b4d44dd186355827c0b049d2f95c8cbb45fd10d4e7cb255be67ecb?s=96&d=mm&r=g\",\"caption\":\"Joan Frey\"},\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/joanfrey\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"New PostgreSQL service in OCI - dbi Blog","description":"Explore a comprehensive guide on installing and configuring PostgreSQL service in Oracle Cloud Infrastructure (OCI). Learn the step-by-step process of setting up PostgreSQL using GUI, CLI installation, creating replicas, backup, failover, and more","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\/new-postgresql-service-in-oci\/","og_locale":"en_US","og_type":"article","og_title":"New PostgreSQL service in OCI","og_description":"Explore a comprehensive guide on installing and configuring PostgreSQL service in Oracle Cloud Infrastructure (OCI). Learn the step-by-step process of setting up PostgreSQL using GUI, CLI installation, creating replicas, backup, failover, and more","og_url":"https:\/\/www.dbi-services.com\/blog\/new-postgresql-service-in-oci\/","og_site_name":"dbi Blog","article_published_time":"2023-12-13T07:58:42+00:00","article_modified_time":"2023-12-14T13:03:27+00:00","og_image":[{"url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/image.png","type":"","width":"","height":""}],"author":"Joan Frey","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Joan Frey","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/new-postgresql-service-in-oci\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/new-postgresql-service-in-oci\/"},"author":{"name":"Joan Frey","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/c03c47649664fe73b27ce457e99f5b06"},"headline":"New PostgreSQL service in OCI","datePublished":"2023-12-13T07:58:42+00:00","dateModified":"2023-12-14T13:03:27+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/new-postgresql-service-in-oci\/"},"wordCount":1121,"commentCount":1,"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/new-postgresql-service-in-oci\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/image.png","keywords":["Cloud","OCI","PostgreSQL"],"articleSection":["Database management","OCI","PostgreSQL"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/new-postgresql-service-in-oci\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/new-postgresql-service-in-oci\/","url":"https:\/\/www.dbi-services.com\/blog\/new-postgresql-service-in-oci\/","name":"New PostgreSQL service in OCI - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/new-postgresql-service-in-oci\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/new-postgresql-service-in-oci\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/image.png","datePublished":"2023-12-13T07:58:42+00:00","dateModified":"2023-12-14T13:03:27+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/c03c47649664fe73b27ce457e99f5b06"},"description":"Explore a comprehensive guide on installing and configuring PostgreSQL service in Oracle Cloud Infrastructure (OCI). Learn the step-by-step process of setting up PostgreSQL using GUI, CLI installation, creating replicas, backup, failover, and more","breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/new-postgresql-service-in-oci\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/new-postgresql-service-in-oci\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/new-postgresql-service-in-oci\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/image.png","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/image.png","width":923,"height":465},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/new-postgresql-service-in-oci\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"New PostgreSQL service in OCI"}]},{"@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\/c03c47649664fe73b27ce457e99f5b06","name":"Joan Frey","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/1e650cf665b4d44dd186355827c0b049d2f95c8cbb45fd10d4e7cb255be67ecb?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1e650cf665b4d44dd186355827c0b049d2f95c8cbb45fd10d4e7cb255be67ecb?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1e650cf665b4d44dd186355827c0b049d2f95c8cbb45fd10d4e7cb255be67ecb?s=96&d=mm&r=g","caption":"Joan Frey"},"url":"https:\/\/www.dbi-services.com\/blog\/author\/joanfrey\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/29697","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\/87"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=29697"}],"version-history":[{"count":25,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/29697\/revisions"}],"predecessor-version":[{"id":29769,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/29697\/revisions\/29769"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=29697"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=29697"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=29697"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=29697"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}