CINXE.COM

Oracle to PostgreSQL: Roles & Privileges | Stormatics

<!doctype html> <html lang="en-US"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="profile" href="//gmpg.org/xfn/11"> <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> <!-- This site is optimized with the Yoast SEO plugin v23.8 - https://yoast.com/wordpress/plugins/seo/ --> <title>Oracle to PostgreSQL: Roles &amp; Privileges | Stormatics</title> <meta name="description" content="This article provides a practical guide for Oracle experts to understand and implement roles and privileges in PostgreSQL, addressing the structural differences, common challenges, and best practices to make this transition smooth." /> <link rel="canonical" href="https://stormatics.tech/blogs/transitioning-from-oracle-to-postgresql-roles-privileges" /> <meta property="og:locale" content="en_US" /> <meta property="og:type" content="article" /> <meta property="og:title" content="Oracle to PostgreSQL: Roles &amp; Privileges | Stormatics" /> <meta property="og:description" content="This article provides a practical guide for Oracle experts to understand and implement roles and privileges in PostgreSQL, addressing the structural differences, common challenges, and best practices to make this transition smooth." /> <meta property="og:url" content="https://stormatics.tech/blogs/transitioning-from-oracle-to-postgresql-roles-privileges" /> <meta property="og:site_name" content="Stormatics" /> <meta property="article:publisher" content="https://www.facebook.com/stormatics" /> <meta property="article:published_time" content="2024-11-21T10:49:17+00:00" /> <meta property="article:modified_time" content="2024-11-21T11:43:39+00:00" /> <meta property="og:image" content="https://stormatics.tech/wp-content/uploads/2024/11/Oracle-to-Postgres-series.webp" /> <meta property="og:image:width" content="2560" /> <meta property="og:image:height" content="1440" /> <meta property="og:image:type" content="image/webp" /> <meta name="author" content="Umair Shahid" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:creator" content="@StormaticsTech" /> <meta name="twitter:site" content="@StormaticsTech" /> <meta name="twitter:label1" content="Written by" /> <meta name="twitter:data1" content="Umair Shahid" /> <meta name="twitter:label2" content="Est. reading time" /> <meta name="twitter:data2" content="6 minutes" /> <script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"Article","@id":"https://stormatics.tech/blogs/transitioning-from-oracle-to-postgresql-roles-privileges#article","isPartOf":{"@id":"https://stormatics.tech/blogs/transitioning-from-oracle-to-postgresql-roles-privileges"},"author":{"name":"Umair Shahid","@id":"https://stormatics.tech/#/schema/person/7c8aab32b18b55a09517cb675e270b0f"},"headline":"Transitioning from Oracle to PostgreSQL: Roles &#038; Privileges","datePublished":"2024-11-21T10:49:17+00:00","dateModified":"2024-11-21T11:43:39+00:00","mainEntityOfPage":{"@id":"https://stormatics.tech/blogs/transitioning-from-oracle-to-postgresql-roles-privileges"},"wordCount":1315,"commentCount":0,"publisher":{"@id":"https://stormatics.tech/#organization"},"image":{"@id":"https://stormatics.tech/blogs/transitioning-from-oracle-to-postgresql-roles-privileges#primaryimage"},"thumbnailUrl":"https://stormatics.tech/wp-content/uploads/2024/11/Oracle-to-Postgres-series.webp","articleSection":["Blog","Service Oracle to PostgreSQL Migration","Umair's Planet PostgreSQL"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https://stormatics.tech/blogs/transitioning-from-oracle-to-postgresql-roles-privileges#respond"]}]},{"@type":"WebPage","@id":"https://stormatics.tech/blogs/transitioning-from-oracle-to-postgresql-roles-privileges","url":"https://stormatics.tech/blogs/transitioning-from-oracle-to-postgresql-roles-privileges","name":"Oracle to PostgreSQL: Roles & Privileges | Stormatics","isPartOf":{"@id":"https://stormatics.tech/#website"},"primaryImageOfPage":{"@id":"https://stormatics.tech/blogs/transitioning-from-oracle-to-postgresql-roles-privileges#primaryimage"},"image":{"@id":"https://stormatics.tech/blogs/transitioning-from-oracle-to-postgresql-roles-privileges#primaryimage"},"thumbnailUrl":"https://stormatics.tech/wp-content/uploads/2024/11/Oracle-to-Postgres-series.webp","datePublished":"2024-11-21T10:49:17+00:00","dateModified":"2024-11-21T11:43:39+00:00","description":"This article provides a practical guide for Oracle experts to understand and implement roles and privileges in PostgreSQL, addressing the structural differences, common challenges, and best practices to make this transition smooth.","breadcrumb":{"@id":"https://stormatics.tech/blogs/transitioning-from-oracle-to-postgresql-roles-privileges#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https://stormatics.tech/blogs/transitioning-from-oracle-to-postgresql-roles-privileges"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https://stormatics.tech/blogs/transitioning-from-oracle-to-postgresql-roles-privileges#primaryimage","url":"https://stormatics.tech/wp-content/uploads/2024/11/Oracle-to-Postgres-series.webp","contentUrl":"https://stormatics.tech/wp-content/uploads/2024/11/Oracle-to-Postgres-series.webp","width":2560,"height":1440},{"@type":"BreadcrumbList","@id":"https://stormatics.tech/blogs/transitioning-from-oracle-to-postgresql-roles-privileges#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://stormatics.tech/"},{"@type":"ListItem","position":2,"name":"Transitioning from Oracle to PostgreSQL: Roles &#038; Privileges"}]},{"@type":"WebSite","@id":"https://stormatics.tech/#website","url":"https://stormatics.tech/","name":"Stormatics","description":"Professional Services for PostgreSQL","publisher":{"@id":"https://stormatics.tech/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://stormatics.tech/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https://stormatics.tech/#organization","name":"Stormatics","url":"https://stormatics.tech/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https://stormatics.tech/#/schema/logo/image/","url":"https://stormatics.tech/wp-content/uploads/2023/07/stormatic-Logo-title.png","contentUrl":"https://stormatics.tech/wp-content/uploads/2023/07/stormatic-Logo-title.png","width":2063,"height":243,"caption":"Stormatics"},"image":{"@id":"https://stormatics.tech/#/schema/logo/image/"},"sameAs":["https://www.facebook.com/stormatics","https://x.com/StormaticsTech","https://www.linkedin.com/company/stormatics/"]},{"@type":"Person","@id":"https://stormatics.tech/#/schema/person/7c8aab32b18b55a09517cb675e270b0f","name":"Umair Shahid","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https://stormatics.tech/#/schema/person/image/","url":"https://stormatics.tech/wp-content/litespeed/avatar/46cb34df6dd31bb63fb7b67360170c13.jpg?ver=1732191488","contentUrl":"https://stormatics.tech/wp-content/litespeed/avatar/46cb34df6dd31bb63fb7b67360170c13.jpg?ver=1732191488","caption":"Umair Shahid"},"sameAs":["https://stormatics.tech/"],"url":"https://stormatics.tech/author/umair"}]}</script> <!-- / Yoast SEO plugin. --> <link rel='dns-prefetch' href='//js.hs-scripts.com' /> <link rel='dns-prefetch' href='//fonts.googleapis.com' /> <link rel='preconnect' href='https://fonts.gstatic.com' crossorigin /> <link rel="alternate" type="application/rss+xml" title="Stormatics &raquo; Feed" href="https://stormatics.tech/feed" /> <link rel="alternate" type="application/rss+xml" title="Stormatics &raquo; Comments Feed" href="https://stormatics.tech/comments/feed" /> <link rel="alternate" type="application/rss+xml" title="Stormatics &raquo; Transitioning from Oracle to PostgreSQL: Roles &#038; Privileges Comments Feed" href="https://stormatics.tech/blogs/transitioning-from-oracle-to-postgresql-roles-privileges/feed" /> <style id='ctc-term-title-style-inline-css' type='text/css'> .ctc-block-controls-dropdown .components-base-control__field{margin:0 !important} </style> <style id='ctc-copy-button-style-inline-css' type='text/css'> .wp-block-ctc-copy-button{font-size:14px;line-height:normal;padding:8px 16px;border-width:1px;border-style:solid;border-color:inherit;border-radius:4px;cursor:pointer;display:inline-block}.ctc-copy-button-textarea{display:none !important} </style> <style id='ctc-copy-icon-style-inline-css' type='text/css'> .wp-block-ctc-copy-icon .ctc-block-copy-icon{background:rgba(0,0,0,0);padding:0;margin:0;position:relative;cursor:pointer}.wp-block-ctc-copy-icon .ctc-block-copy-icon .check-icon{display:none}.wp-block-ctc-copy-icon .ctc-block-copy-icon svg{height:1em;width:1em}.wp-block-ctc-copy-icon .ctc-block-copy-icon::after{position:absolute;content:attr(aria-label);padding:.5em .75em;right:100%;color:#fff;background:#24292f;font-size:11px;border-radius:6px;line-height:1;right:100%;bottom:50%;margin-right:6px;-webkit-transform:translateY(50%);transform:translateY(50%)}.wp-block-ctc-copy-icon .ctc-block-copy-icon::before{content:"";top:50%;bottom:50%;left:-7px;margin-top:-6px;border:6px solid rgba(0,0,0,0);border-left-color:#24292f;position:absolute}.wp-block-ctc-copy-icon .ctc-block-copy-icon::after,.wp-block-ctc-copy-icon .ctc-block-copy-icon::before{opacity:0;visibility:hidden;-webkit-transition:opacity .2s ease-in-out,visibility .2s ease-in-out;transition:opacity .2s ease-in-out,visibility .2s ease-in-out}.wp-block-ctc-copy-icon .ctc-block-copy-icon.copied::after,.wp-block-ctc-copy-icon .ctc-block-copy-icon.copied::before{opacity:1;visibility:visible;-webkit-transition:opacity .2s ease-in-out,visibility .2s ease-in-out;transition:opacity .2s ease-in-out,visibility .2s ease-in-out}.wp-block-ctc-copy-icon .ctc-block-copy-icon.copied .check-icon{display:inline-block}.wp-block-ctc-copy-icon .ctc-block-copy-icon.copied .copy-icon{display:none !important}.ctc-copy-icon-textarea{display:none !important} </style> <style id='ctc-social-share-style-inline-css' type='text/css'> .wp-block-ctc-social-share{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px}.wp-block-ctc-social-share svg{height:16px;width:16px}.wp-block-ctc-social-share a{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.wp-block-ctc-social-share a:focus{outline:none} </style> <style id='classic-theme-styles-inline-css' type='text/css'> /*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} </style> <style id='global-styles-inline-css' type='text/css'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} </style> <link rel='stylesheet' id='ct-main-css-css' href='https://stormatics.tech/wp-content/plugins/case-theme-core/assets/css/main.css?ver=1.0.0' type='text/css' media='all' /> <link rel='stylesheet' id='progressbar-lib-css-css' href='https://stormatics.tech/wp-content/plugins/case-theme-core/assets/css/lib/progressbar.min.css?ver=0.7.1' type='text/css' media='all' /> <link rel='stylesheet' id='oc-css-css' href='https://stormatics.tech/wp-content/plugins/case-theme-core/assets/css/lib/owl.carousel.min.css?ver=2.2.1' type='text/css' media='all' /> <link rel='stylesheet' id='ct-slick-css-css' href='https://stormatics.tech/wp-content/plugins/case-theme-core/assets/css/lib/slick.css?ver=1.0.0' type='text/css' media='all' /> <link rel='stylesheet' id='ct-font-awesome-css' href='https://stormatics.tech/wp-content/plugins/case-theme-core/assets/plugin/font-awesome/css/font-awesome.min.css?ver=4.7.0' type='text/css' media='all' /> <link rel='stylesheet' id='copy-the-code-css' href='https://stormatics.tech/wp-content/plugins/copy-the-code/assets/css/copy-the-code.css?ver=4.0.3' type='text/css' media='all' /> <link rel='stylesheet' id='ctc-copy-inline-css' href='https://stormatics.tech/wp-content/plugins/copy-the-code/assets/css/copy-inline.css?ver=4.0.3' type='text/css' media='all' /> <link rel='stylesheet' id='wp-components-css' href='https://stormatics.tech/wp-includes/css/dist/components/style.min.css?ver=6.6.2' type='text/css' media='all' /> <link rel='stylesheet' id='godaddy-styles-css' href='https://stormatics.tech/wp-content/plugins/coblocks/includes/Dependencies/GoDaddy/Styles/build/latest.css?ver=2.0.2' type='text/css' media='all' /> <link rel='stylesheet' id='itfirm-style-css' href='https://stormatics.tech/wp-content/themes/itfirm/style.css?ver=6.6.2' type='text/css' media='all' /> <link rel='stylesheet' id='child-style-css' href='https://stormatics.tech/wp-content/themes/itfirm-child/style.css?ver=6.6.2' type='text/css' media='all' /> <link rel='stylesheet' id='bootstrap-css' href='https://stormatics.tech/wp-content/themes/itfirm/assets/css/bootstrap.min.css?ver=4.0.0' type='text/css' media='all' /> <link rel='stylesheet' id='caseicon-css' href='https://stormatics.tech/wp-content/themes/itfirm/assets/css/caseicon.css?ver=1.4.0' type='text/css' media='all' /> <link rel='stylesheet' id='flaticon-css' href='https://stormatics.tech/wp-content/themes/itfirm/assets/css/flaticon.css?ver=1.4.0' type='text/css' media='all' /> <link rel='stylesheet' id='flaticon2-css' href='https://stormatics.tech/wp-content/themes/itfirm/assets/css/flaticon2.css?ver=1.4.0' type='text/css' media='all' /> <link rel='stylesheet' id='magnific-popup-css' href='https://stormatics.tech/wp-content/themes/itfirm/assets/css/magnific-popup.css?ver=1.0.0' type='text/css' media='all' /> <link rel='stylesheet' id='animate-css' href='https://stormatics.tech/wp-content/themes/itfirm/assets/css/animate.css?ver=1.0.0' type='text/css' media='all' /> <link rel='stylesheet' id='itfirm-theme-css' href='https://stormatics.tech/wp-content/themes/itfirm/assets/css/theme.css?ver=1.4.0' type='text/css' media='all' /> <style id='itfirm-theme-inline-css' type='text/css'> :root{--primary-color: #2989bd;--secondary-color: #11b97e;--third-color: #88bd42;--primary-color-rgb: 41,137,189;--secondary-color-rgb: 17,185,126;--third-color-rgb: 136,189,66;--link-color: #2989bd;--link-color-hover: #11b97e;--link-color-active: #2989bd;--gradient-color-from: #2989bd;--gradient-color-to: #11b97e;--gradient-color-from-rgb: 41,137,189;--gradient-color-to-rgb: 17,185,126;} @media screen and (max-width: 1199px) { .ct-header-mobile .ct-header-branding img { max-height: 50px !important; } } @media screen and (min-width: 1200px) { } </style> <link rel='stylesheet' id='itfirm-google-fonts-css' href='//fonts.googleapis.com/css2?family=Playfair+Display%3Aital%2Cwght%400%2C700%3B1%2C700&#038;subset=latin%2Clatin-ext&#038;ver=6.6.2' type='text/css' media='all' /> <link rel='stylesheet' id='elementor-icons-css' href='https://stormatics.tech/wp-content/plugins/elementor/assets/lib/eicons/css/elementor-icons.min.css?ver=5.30.0' type='text/css' media='all' /> <link rel='stylesheet' id='elementor-frontend-css' href='https://stormatics.tech/wp-content/plugins/elementor/assets/css/frontend-lite.min.css?ver=3.23.2' type='text/css' media='all' /> <link rel='stylesheet' id='swiper-css' href='https://stormatics.tech/wp-content/plugins/elementor/assets/lib/swiper/v8/css/swiper.min.css?ver=8.4.5' type='text/css' media='all' /> <link rel='stylesheet' id='elementor-post-6-css' href='https://stormatics.tech/wp-content/uploads/elementor/css/post-6.css?ver=1730472248' type='text/css' media='all' /> <link rel='stylesheet' id='elementor-post-22815-css' href='https://stormatics.tech/wp-content/uploads/elementor/css/post-22815.css?ver=1732186257' type='text/css' media='all' /> <link rel='stylesheet' id='elementor-post-2405-css' href='https://stormatics.tech/wp-content/uploads/elementor/css/post-2405.css?ver=1730472252' type='text/css' media='all' /> <link rel="preload" as="style" href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900,100italic,300italic,400italic,500italic,700italic,900italic&#038;display=swap&#038;ver=1731509299" /><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900,100italic,300italic,400italic,500italic,700italic,900italic&#038;display=swap&#038;ver=1731509299" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900,100italic,300italic,400italic,500italic,700italic,900italic&#038;display=swap&#038;ver=1731509299" /></noscript><link rel='stylesheet' id='google-fonts-1-css' href='https://fonts.googleapis.com/css?family=Roboto%3A100%2C100italic%2C200%2C200italic%2C300%2C300italic%2C400%2C400italic%2C500%2C500italic%2C600%2C600italic%2C700%2C700italic%2C800%2C800italic%2C900%2C900italic%7CPoppins%3A100%2C100italic%2C200%2C200italic%2C300%2C300italic%2C400%2C400italic%2C500%2C500italic%2C600%2C600italic%2C700%2C700italic%2C800%2C800italic%2C900%2C900italic&#038;display=swap&#038;ver=6.6.2' type='text/css' media='all' /> <link rel='stylesheet' id='elementor-icons-shared-0-css' href='https://stormatics.tech/wp-content/plugins/elementor/assets/lib/font-awesome/css/fontawesome.min.css?ver=5.15.3' type='text/css' media='all' /> <link rel='stylesheet' id='elementor-icons-fa-brands-css' href='https://stormatics.tech/wp-content/plugins/elementor/assets/lib/font-awesome/css/brands.min.css?ver=5.15.3' type='text/css' media='all' /> <link rel="preconnect" href="https://fonts.gstatic.com/" crossorigin><!--n2css--><!--n2js--><script type="text/javascript" src="https://stormatics.tech/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script> <script type="text/javascript" src="https://stormatics.tech/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1" id="jquery-migrate-js"></script> <script type="text/javascript" src="https://stormatics.tech/wp-content/plugins/copy-the-code/classes/gutenberg/blocks/copy-button/js/frontend.js?ver=1.0.0" id="ctc-copy-button-script-2-js"></script> <script type="text/javascript" src="https://stormatics.tech/wp-content/plugins/copy-the-code/classes/gutenberg/blocks/copy-icon/js/frontend.js?ver=1.0.0" id="ctc-copy-icon-script-2-js"></script> <script type="text/javascript" src="https://stormatics.tech/wp-content/plugins/case-theme-core/assets/js/main.js?ver=1.0.0" id="ct-main-js-js"></script> <link rel="https://api.w.org/" href="https://stormatics.tech/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://stormatics.tech/wp-json/wp/v2/posts/22815" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://stormatics.tech/xmlrpc.php?rsd" /> <meta name="generator" content="WordPress 6.6.2" /> <link rel='shortlink' href='https://stormatics.tech/?p=22815' /> <link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://stormatics.tech/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fstormatics.tech%2Fblogs%2Ftransitioning-from-oracle-to-postgresql-roles-privileges" /> <link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://stormatics.tech/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fstormatics.tech%2Fblogs%2Ftransitioning-from-oracle-to-postgresql-roles-privileges&#038;format=xml" /> <meta name="generator" content="Redux 4.4.18" /><style type='text/css'> .ae_data .elementor-editor-element-setting { display:none !important; } </style> <script async src="https://tag.clearbitscripts.com/v1/pk_8deb4a75991ad3beb38094058e21499c/tags.js" referrerpolicy="strict-origin-when-cross-origin"></script> <!-- GA Google Analytics @ https://m0n.co/ga --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-8GSWE5SL0K"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-8GSWE5SL0K'); </script> <!-- DO NOT COPY THIS SNIPPET! Start of Page Analytics Tracking for HubSpot WordPress plugin v11.1.66--> <script class="hsq-set-content-id" data-content-id="blog-post"> var _hsq = _hsq || []; _hsq.push(["setContentType", "blog-post"]); </script> <!-- DO NOT COPY THIS SNIPPET! End of Page Analytics Tracking for HubSpot WordPress plugin --> <link rel="icon" type="image/png" href="https://stormatics.tech/wp-content/uploads/2023/03/cube.png"/><meta name="generator" content="Elementor 3.23.2; features: e_optimized_css_loading, additional_custom_breakpoints, e_lazyload; settings: css_print_method-external, google_font-enabled, font_display-swap"> <style> .e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload), .e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload) * { background-image: none !important; } @media screen and (max-height: 1024px) { .e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload), .e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload) * { background-image: none !important; } } @media screen and (max-height: 640px) { .e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload), .e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload) * { background-image: none !important; } } </style> <style type="text/css" id="custom-background-css"> body.custom-background { background-color: #f4f7fa; } </style> <link rel="icon" href="https://stormatics.tech/wp-content/uploads/2023/04/cropped-blockForm-Logo-32x32.png" sizes="32x32" /> <link rel="icon" href="https://stormatics.tech/wp-content/uploads/2023/04/cropped-blockForm-Logo-192x192.png" sizes="192x192" /> <link rel="apple-touch-icon" href="https://stormatics.tech/wp-content/uploads/2023/04/cropped-blockForm-Logo-180x180.png" /> <meta name="msapplication-TileImage" content="https://stormatics.tech/wp-content/uploads/2023/04/cropped-blockForm-Logo-270x270.png" /> <style type="text/css" id="wp-custom-css"> .menu-item-19908>a>span.ct-menu-item { background-image: linear-gradient(90deg, #ffcc00 0%, #ffcc00 80%, #ffcc00); color: #3d3d3d; padding: 15px 25px; border-radius: 15px; } .ct-logo.style3:before{ background-image: none !important; background-color: #fff !important; } a:hover{ -webkit-text-fill-color:#2898bd !important; } .menu-item-20225>a>span.ct-menu-item { background-image: linear-gradient(90deg, #f90419 0%, #990909 80%, #990909); color: #fff; padding: 15px 25px; border-radius: 5px; z-index:0; position:relative; } .ct-main-menu .link-icon { color:#fff !important; margin-right:-19px !important; z-index:10; position:relative; } </style> <style id="ct_theme_options-dynamic-css" title="dynamic-css" class="redux-options-output">body #ct-pagetitle{padding-top:30px;padding-bottom:30px;}a{color:#2989bd;}a:hover{color:#11b97e;}a:active{color:#2989bd;}body{color:#000000;}body{font-family:Roboto,Arial, Helvetica, sans-serif;line-height:20px;font-weight:400;font-style:normal;font-size:16px;}h1,.h1,.text-heading{font-family:Roboto,Arial, Helvetica, sans-serif;line-height:38px;font-weight:400;font-style:normal;font-size:32px;}h2,.h2{font-family:Roboto,Arial, Helvetica, sans-serif;line-height:34px;font-weight:400;font-style:normal;font-size:28px;}h3,.h3{font-family:Roboto,Arial, Helvetica, sans-serif;line-height:28px;font-weight:400;font-style:normal;font-size:24px;}h4,.h4{font-family:Roboto,Arial, Helvetica, sans-serif;line-height:24px;font-weight:400;font-style:normal;font-size:20px;}h5,.h5{font-family:Roboto,Arial, Helvetica, sans-serif;line-height:20px;font-weight:400;font-style:normal;font-size:16px;}h6,.h6{font-family:Roboto,Arial, Helvetica, sans-serif;line-height:14px;font-weight:400;font-style:normal;font-size:12px;}</style></head> <body class="post-template-default single single-post postid-22815 single-format-standard custom-background group-blog redux-page site-h2401 site-404-default elementor-default elementor-kit-6 elementor-page elementor-page-22815"> <div id="page" class="site"> <header id="ct-header-elementor" class="is-sticky"> <div class="ct-header-elementor-main"> <div class="ct-header-content"> <div class="row"> <div class="col-12"> <div data-elementor-type="wp-post" data-elementor-id="2401" class="elementor elementor-2401"> <section class="elementor-section elementor-top-section elementor-element elementor-element-59df7a2 elementor-section-stretched elementor-section-full_width elementor-section-content-middle elementor-section-height-default elementor-section-height-default ct-header-fixed-none ct-column-none ct-row-scroll-none ct-row-gradient--none ct-container-none" data-id="59df7a2" data-element_type="section" data-settings="{&quot;stretch_section&quot;:&quot;section-stretched&quot;,&quot;background_background&quot;:&quot;classic&quot;}"> <div class="elementor-container elementor-column-gap-no "> <div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-a5adb1f ct-column-none col-offset-none col-color-offset-none" data-id="a5adb1f" data-element_type="column"> <div class="elementor-widget-wrap elementor-element-populated"> <div class="elementor-element elementor-element-11e2f69 elementor-widget__width-auto elementor-widget elementor-widget-ct_logo" data-id="11e2f69" data-element_type="widget" data-widget_type="ct_logo.default"> <div class="elementor-widget-container"> <div id="ct_logo-11e2f69" class="ct-logo style3"> <div class="ct-inline-css" data-css=" #ct_logo-11e2f69.ct-logo.style3::before { background-image: -webkit-gradient(linear, left top, left bottom, from(#FFFFFF), to(#FFFFFF)); background-image: -webkit-linear-gradient(to left, #FFFFFF, #FFFFFF); background-image: -moz-linear-gradient(to left, #FFFFFF, #FFFFFF); background-image: -ms-linear-gradient(to left, #FFFFFF, #FFFFFF); background-image: -o-linear-gradient(to left, #FFFFFF, #FFFFFF); background-image: linear-gradient(to left, #FFFFFF, #FFFFFF); filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#FFFFFF', endColorStr='#FFFFFF'); } "> </div> <a href="https://stormatics.tech/"> <img fetchpriority="high" width="1200" height="628" src="https://stormatics.tech/wp-content/uploads/2021/11/Stormatics-Logo-1200x628-Version-2.png" class="attachment-full" alt="" /> </a> </div> </div> </div> <div class="elementor-element elementor-element-909ae21 elementor-widget__width-auto el-flex-grow elementor-widget elementor-widget-ct_menu" data-id="909ae21" data-element_type="widget" data-widget_type="ct_menu.default"> <div class="elementor-widget-container"> <div id="ct_menu-909ae21" class="ct-nav-menu ct-nav-menu1 style2 sub-hv-style1 ct-mega-fullwidth"> <div class="ct-inline-css" data-css=" "> </div> <div class="menu-stormatics-new-container"><ul id="menu-stormatics-new" class="ct-main-menu clearfix"><li id="menu-item-19881" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-19881"><a href="https://stormatics.tech/service/postgresql-services"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Services</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a> <ul class="sub-menu"> <li id="menu-item-19888" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19888"><a href="https://stormatics.tech/service/postgresql-health-check"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>PostgreSQL Performance Health Check</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> <li id="menu-item-19892" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19892"><a href="https://stormatics.tech/service/postgresql-database-security-hardening"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Security Hardening</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> <li id="menu-item-19893" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19893"><a href="https://stormatics.tech/service/high-availability-disaster-recovery"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>High Availability &#038; Disaster Recovery</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> <li id="menu-item-19883" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19883"><a href="https://stormatics.tech/postgresql-consulting"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>PostgreSQL Consulting</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> <li id="menu-item-19999" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19999"><a href="https://stormatics.tech/service/24-7-postgresql-support"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>24/7 PostgreSQL Support</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> <li id="menu-item-20000" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-20000"><a href="https://stormatics.tech/service/remote-dba"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Remote DBA</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> <li id="menu-item-19887" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-19887"><a href="https://stormatics.tech/service/packaged-services"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Packaged Services</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a> <ul class="sub-menu"> <li id="menu-item-19889" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19889"><a href="https://stormatics.tech/service/postgresql-optimization-scaling"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Enhance PostgreSQL Performance</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> <li id="menu-item-19891" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19891"><a href="https://stormatics.tech/service/zero-downtime-postgresql-migration"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Zero Downtime Migration</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> <li id="menu-item-20105" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-20105"><a href="https://stormatics.tech/service/zero-downtime-postgresql-upgrade"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Zero Downtime Upgrade</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> <li id="menu-item-20106" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-20106"><a href="https://stormatics.tech/service/oracle-to-postgresql-migration"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Oracle to PostgreSQL Migration</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> <li id="menu-item-20107" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-20107"><a href="https://stormatics.tech/service/postgresql-training"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>PostgreSQL Training</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> </ul> </li> </ul> </li> <li id="menu-item-19894" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-19894"><a href="#"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Projects</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a> <ul class="sub-menu"> <li id="menu-item-19895" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-19895"><a href="https://stormatics.tech/pg_cirrus-hassle-free-postgresql-cluster-setup"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>pg_cirrus – Hassle-free PostgreSQL Cluster Setup</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> </ul> </li> <li id="menu-item-19896" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-19896"><a href="https://stormatics.tech/resources"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Resources</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a> <ul class="sub-menu"> <li id="menu-item-19897" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-19897"><a href="https://stormatics.tech/webinars"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Webinars</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a> <ul class="sub-menu"> <li id="menu-item-19898" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-19898"><a href="https://stormatics.tech/webinars"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Upcoming Webinars</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a> <ul class="sub-menu"> <li id="menu-item-22253" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-22253"><a href="https://hubs.ly/Q02Z10L60"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Achieving 99.99% Availability for PostgreSQL</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> </ul> </li> <li id="menu-item-19899" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19899"><a href="https://stormatics.tech/webinars"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Past Webinars</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> </ul> </li> <li id="menu-item-19900" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-19900"><a href="https://stormatics.tech/case-studies"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Case Studies</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a> <ul class="sub-menu"> <li id="menu-item-22363" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-22363"><a href="https://hubs.ly/Q02VZ7lN0"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Last Mile Delivery App – Massive Postgres Performance Improvement</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> <li id="menu-item-22265" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-22265"><a href="https://hubs.ly/Q02SxJfY0"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>SaaS Video Platform – Expert PostgreSQL Troubleshooting</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> <li id="menu-item-22217" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-22217"><a href="https://hubs.ly/Q02Rt5sd0"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Middle Eastern Govt – 99.99% Availability Solution</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> <li id="menu-item-21850" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-21850"><a href="https://hubs.ly/Q02Pv2qB0"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Fortune 500 – Data Engineering and BI Setup</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> <li id="menu-item-19912" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19912"><a href="https://hubs.ly/Q02scZ5p0"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>FinTech – High Availability Cluster</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> <li id="menu-item-19913" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19913"><a href="https://hubs.ly/Q02w6Qs70"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Whop – Database Infrastructure Migration</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> <li id="menu-item-19914" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19914"><a href="https://hubs.ly/Q02w089v0"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Ventrata – Migration and Performance Tuning</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> </ul> </li> <li id="menu-item-19901" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-19901"><a href="#"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Whitepapers</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a> <ul class="sub-menu"> <li id="menu-item-21975" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-21975"><a href="https://hubs.ly/Q02QKSth0"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Benchmark Study on Replication Lag in PostgreSQL</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> <li id="menu-item-19902" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19902"><a href="https://hubs.ly/Q02sSHx90"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Transparent Data Encryption and High Availability</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> <li id="menu-item-19903" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19903"><a href="https://hubs.ly/Q02lVvZ00"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Data Ingestion Benchmark Comparison between PostgreSQL and MongoDB</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> </ul> </li> </ul> </li> <li id="menu-item-19904" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19904"><a href="https://stormatics.tech/our-blogs"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Blogs</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> <li id="menu-item-19905" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-19905"><a href="#"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>About Us</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a> <ul class="sub-menu"> <li id="menu-item-19906" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19906"><a href="https://stormatics.tech/about-us"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>About Stormatics</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> <li id="menu-item-19907" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-19907"><a href="https://stormatics.tech/news"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>News</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> </ul> </li> <li id="menu-item-19908" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-19908"><a href="https://stormatics.tech/contact-us"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Contact Us</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> </ul></div> </div> </div> </div> <div class="elementor-element elementor-element-7a06970 elementor-widget__width-auto elementor-widget elementor-widget-ct_icon_search" data-id="7a06970" data-element_type="widget" data-widget_type="ct_icon_search.default"> <div class="elementor-widget-container"> <div class="ct-search-form1"> <form role="search" method="get" action="https://stormatics.tech/"> <input type="text" placeholder="Search..." name="s" class="search-field" /> <button type="submit" class="search-submit"><i class="caseicon-search"></i></button> </form> </div> </div> </div> </div> </div> </div> </section> </div> </div> </div> </div> </div> <div class="ct-header-elementor-sticky"> <div class="container"> <div class="row"> <div data-elementor-type="wp-post" data-elementor-id="2408" class="elementor elementor-2408"> <section class="elementor-section elementor-top-section elementor-element elementor-element-5e0a361f elementor-section-stretched elementor-section-full_width elementor-section-content-middle elementor-section-height-default elementor-section-height-default ct-header-fixed-none ct-column-none ct-row-scroll-none ct-row-gradient--none ct-container-none" data-id="5e0a361f" data-element_type="section" data-settings="{&quot;stretch_section&quot;:&quot;section-stretched&quot;,&quot;background_background&quot;:&quot;classic&quot;}"> <div class="elementor-container elementor-column-gap-no "> <div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-40633889 ct-column-none col-offset-none col-color-offset-none" data-id="40633889" data-element_type="column"> <div class="elementor-widget-wrap elementor-element-populated"> <div class="elementor-element elementor-element-6742c1c3 elementor-widget__width-initial elementor-widget elementor-widget-ct_logo" data-id="6742c1c3" data-element_type="widget" data-widget_type="ct_logo.default"> <div class="elementor-widget-container"> <div id="ct_logo-6742c1c3" class="ct-logo style3"> <div class="ct-inline-css" data-css=" #ct_logo-6742c1c3.ct-logo.style3::before { background-image: -webkit-gradient(linear, left top, left bottom, from(#FFFFFF), to(#FFFFFF)); background-image: -webkit-linear-gradient(to left, #FFFFFF, #FFFFFF); background-image: -moz-linear-gradient(to left, #FFFFFF, #FFFFFF); background-image: -ms-linear-gradient(to left, #FFFFFF, #FFFFFF); background-image: -o-linear-gradient(to left, #FFFFFF, #FFFFFF); background-image: linear-gradient(to left, #FFFFFF, #FFFFFF); filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#FFFFFF', endColorStr='#FFFFFF'); } "> </div> <a href="https://stormatics.tech/"> <img fetchpriority="high" width="1200" height="628" src="https://stormatics.tech/wp-content/uploads/2021/11/Stormatics-Logo-1200x628-Version-2.png" class="attachment-full" alt="" /> </a> </div> </div> </div> <div class="elementor-element elementor-element-78effc1f elementor-widget__width-auto el-flex-grow elementor-widget elementor-widget-ct_menu" data-id="78effc1f" data-element_type="widget" data-widget_type="ct_menu.default"> <div class="elementor-widget-container"> <div id="ct_menu-78effc1f" class="ct-nav-menu ct-nav-menu1 style2 sub-hv-style1 ct-mega-fullwidth"> <div class="ct-inline-css" data-css=" #ct_menu-78effc1f.ct-nav-menu1.style2 .ct-main-menu > li > a::before, #ct_menu-78effc1f.ct-nav-menu1.style3 .ct-main-menu > li > a::before { background-image: -webkit-gradient(linear, left top, left bottom, from(#11B97E), to(#11B97E)); background-image: -webkit-linear-gradient(to left, #11B97E, #11B97E); background-image: -moz-linear-gradient(to left, #11B97E, #11B97E); background-image: -ms-linear-gradient(to left, #11B97E, #11B97E); background-image: -o-linear-gradient(to left, #11B97E, #11B97E); background-image: linear-gradient(to left, #11B97E, #11B97E); filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#11B97E', endColorStr='#11B97E'); } "> </div> <div class="menu-stormatics-new-container"><ul id="menu-stormatics-new-1" class="ct-main-menu clearfix"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-19881"><a href="https://stormatics.tech/service/postgresql-services"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Services</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a> <ul class="sub-menu"> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19888"><a href="https://stormatics.tech/service/postgresql-health-check"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>PostgreSQL Performance Health Check</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19892"><a href="https://stormatics.tech/service/postgresql-database-security-hardening"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Security Hardening</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19893"><a href="https://stormatics.tech/service/high-availability-disaster-recovery"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>High Availability &#038; Disaster Recovery</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19883"><a href="https://stormatics.tech/postgresql-consulting"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>PostgreSQL Consulting</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19999"><a href="https://stormatics.tech/service/24-7-postgresql-support"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>24/7 PostgreSQL Support</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-20000"><a href="https://stormatics.tech/service/remote-dba"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Remote DBA</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-19887"><a href="https://stormatics.tech/service/packaged-services"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Packaged Services</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a> <ul class="sub-menu"> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19889"><a href="https://stormatics.tech/service/postgresql-optimization-scaling"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Enhance PostgreSQL Performance</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19891"><a href="https://stormatics.tech/service/zero-downtime-postgresql-migration"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Zero Downtime Migration</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-20105"><a href="https://stormatics.tech/service/zero-downtime-postgresql-upgrade"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Zero Downtime Upgrade</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-20106"><a href="https://stormatics.tech/service/oracle-to-postgresql-migration"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Oracle to PostgreSQL Migration</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-20107"><a href="https://stormatics.tech/service/postgresql-training"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>PostgreSQL Training</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> </ul> </li> </ul> </li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-19894"><a href="#"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Projects</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-19895"><a href="https://stormatics.tech/pg_cirrus-hassle-free-postgresql-cluster-setup"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>pg_cirrus – Hassle-free PostgreSQL Cluster Setup</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> </ul> </li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-19896"><a href="https://stormatics.tech/resources"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Resources</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a> <ul class="sub-menu"> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-19897"><a href="https://stormatics.tech/webinars"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Webinars</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a> <ul class="sub-menu"> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-19898"><a href="https://stormatics.tech/webinars"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Upcoming Webinars</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a> <ul class="sub-menu"> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-22253"><a href="https://hubs.ly/Q02Z10L60"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Achieving 99.99% Availability for PostgreSQL</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> </ul> </li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19899"><a href="https://stormatics.tech/webinars"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Past Webinars</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> </ul> </li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-19900"><a href="https://stormatics.tech/case-studies"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Case Studies</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a> <ul class="sub-menu"> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-22363"><a href="https://hubs.ly/Q02VZ7lN0"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Last Mile Delivery App – Massive Postgres Performance Improvement</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-22265"><a href="https://hubs.ly/Q02SxJfY0"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>SaaS Video Platform – Expert PostgreSQL Troubleshooting</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-22217"><a href="https://hubs.ly/Q02Rt5sd0"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Middle Eastern Govt – 99.99% Availability Solution</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-21850"><a href="https://hubs.ly/Q02Pv2qB0"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Fortune 500 – Data Engineering and BI Setup</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19912"><a href="https://hubs.ly/Q02scZ5p0"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>FinTech – High Availability Cluster</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19913"><a href="https://hubs.ly/Q02w6Qs70"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Whop – Database Infrastructure Migration</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19914"><a href="https://hubs.ly/Q02w089v0"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Ventrata – Migration and Performance Tuning</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> </ul> </li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-19901"><a href="#"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Whitepapers</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a> <ul class="sub-menu"> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-21975"><a href="https://hubs.ly/Q02QKSth0"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Benchmark Study on Replication Lag in PostgreSQL</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19902"><a href="https://hubs.ly/Q02sSHx90"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Transparent Data Encryption and High Availability</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19903"><a href="https://hubs.ly/Q02lVvZ00"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Data Ingestion Benchmark Comparison between PostgreSQL and MongoDB</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> </ul> </li> </ul> </li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19904"><a href="https://stormatics.tech/our-blogs"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Blogs</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-19905"><a href="#"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>About Us</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a> <ul class="sub-menu"> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19906"><a href="https://stormatics.tech/about-us"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>About Stormatics</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-19907"><a href="https://stormatics.tech/news"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>News</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-19908"><a href="https://stormatics.tech/contact-us"><span class="ct-menu-item"><span class="ct-item--number"><span></span></span>Contact Us</span><span class="ct-menu--plus"></span><span class="ct-menu--line"></span></a></li> </ul></div> </div> </div> </div> <div class="elementor-element elementor-element-57ac974c elementor-widget__width-auto elementor-widget elementor-widget-ct_icon_search" data-id="57ac974c" data-element_type="widget" data-widget_type="ct_icon_search.default"> <div class="elementor-widget-container"> <div class="ct-search-form1"> <form role="search" method="get" action="https://stormatics.tech/"> <input type="text" placeholder="Search..." name="s" class="search-field" /> <button type="submit" class="search-submit"><i class="caseicon-search"></i></button> </form> </div> </div> </div> </div> </div> </div> </section> </div> </div> </div> </div> <div class="ct-header-mobile"> <div id="ct-header" class="ct-header-main"> <div class="container"> <div class="row"> <div class="ct-header-branding"> <a class="logo-mobile" href="https://stormatics.tech/" title="Stormatics" rel="home"><img src="https://stormatics.tech/wp-content/uploads/2024/09/blockForm-Logo-tinified.png" alt="Stormatics"/></a><a class="logo-light" href="https://stormatics.tech/" title="Stormatics" rel="home"><img src="https://stormatics.tech/wp-content/themes/itfirm/assets/images/logo-df.png" alt="Stormatics"/></a> </div> <div class="ct-header-navigation"> <nav class="ct-main-navigation"> <div class="ct-main-navigation-inner"> <div class="ct-logo-mobile"> <a class="logo-mobile" href="https://stormatics.tech/" title="Stormatics" rel="home"><img src="https://stormatics.tech/wp-content/uploads/2024/09/blockForm-Logo-tinified.png" alt="Stormatics"/></a><a class="logo-light" href="https://stormatics.tech/" title="Stormatics" rel="home"><img src="https://stormatics.tech/wp-content/themes/itfirm/assets/images/logo-df.png" alt="Stormatics"/></a> </div> <ul id="menu-stormatics-new-2" class="ct-main-menu clearfix"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-19881"><a href="https://stormatics.tech/service/postgresql-services"><span>Services</span></a> <ul class="sub-menu"> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19888"><a href="https://stormatics.tech/service/postgresql-health-check"><span>PostgreSQL Performance Health Check</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19892"><a href="https://stormatics.tech/service/postgresql-database-security-hardening"><span>Security Hardening</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19893"><a href="https://stormatics.tech/service/high-availability-disaster-recovery"><span>High Availability &#038; Disaster Recovery</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19883"><a href="https://stormatics.tech/postgresql-consulting"><span>PostgreSQL Consulting</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19999"><a href="https://stormatics.tech/service/24-7-postgresql-support"><span>24/7 PostgreSQL Support</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-20000"><a href="https://stormatics.tech/service/remote-dba"><span>Remote DBA</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-19887"><a href="https://stormatics.tech/service/packaged-services"><span>Packaged Services</span></a> <ul class="sub-menu"> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19889"><a href="https://stormatics.tech/service/postgresql-optimization-scaling"><span>Enhance PostgreSQL Performance</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19891"><a href="https://stormatics.tech/service/zero-downtime-postgresql-migration"><span>Zero Downtime Migration</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-20105"><a href="https://stormatics.tech/service/zero-downtime-postgresql-upgrade"><span>Zero Downtime Upgrade</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-20106"><a href="https://stormatics.tech/service/oracle-to-postgresql-migration"><span>Oracle to PostgreSQL Migration</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-20107"><a href="https://stormatics.tech/service/postgresql-training"><span>PostgreSQL Training</span></a></li> </ul> </li> </ul> </li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-19894"><a href="#"><span>Projects</span></a> <ul class="sub-menu"> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-19895"><a href="https://stormatics.tech/pg_cirrus-hassle-free-postgresql-cluster-setup"><span>pg_cirrus – Hassle-free PostgreSQL Cluster Setup</span></a></li> </ul> </li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-19896"><a href="https://stormatics.tech/resources"><span>Resources</span></a> <ul class="sub-menu"> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-19897"><a href="https://stormatics.tech/webinars"><span>Webinars</span></a> <ul class="sub-menu"> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-19898"><a href="https://stormatics.tech/webinars"><span>Upcoming Webinars</span></a> <ul class="sub-menu"> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-22253"><a href="https://hubs.ly/Q02Z10L60"><span>Achieving 99.99% Availability for PostgreSQL</span></a></li> </ul> </li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19899"><a href="https://stormatics.tech/webinars"><span>Past Webinars</span></a></li> </ul> </li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-19900"><a href="https://stormatics.tech/case-studies"><span>Case Studies</span></a> <ul class="sub-menu"> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-22363"><a href="https://hubs.ly/Q02VZ7lN0"><span>Last Mile Delivery App – Massive Postgres Performance Improvement</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-22265"><a href="https://hubs.ly/Q02SxJfY0"><span>SaaS Video Platform – Expert PostgreSQL Troubleshooting</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-22217"><a href="https://hubs.ly/Q02Rt5sd0"><span>Middle Eastern Govt – 99.99% Availability Solution</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-21850"><a href="https://hubs.ly/Q02Pv2qB0"><span>Fortune 500 – Data Engineering and BI Setup</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19912"><a href="https://hubs.ly/Q02scZ5p0"><span>FinTech – High Availability Cluster</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19913"><a href="https://hubs.ly/Q02w6Qs70"><span>Whop – Database Infrastructure Migration</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19914"><a href="https://hubs.ly/Q02w089v0"><span>Ventrata – Migration and Performance Tuning</span></a></li> </ul> </li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-19901"><a href="#"><span>Whitepapers</span></a> <ul class="sub-menu"> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-21975"><a href="https://hubs.ly/Q02QKSth0"><span>Benchmark Study on Replication Lag in PostgreSQL</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19902"><a href="https://hubs.ly/Q02sSHx90"><span>Transparent Data Encryption and High Availability</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19903"><a href="https://hubs.ly/Q02lVvZ00"><span>Data Ingestion Benchmark Comparison between PostgreSQL and MongoDB</span></a></li> </ul> </li> </ul> </li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19904"><a href="https://stormatics.tech/our-blogs"><span>Blogs</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-19905"><a href="#"><span>About Us</span></a> <ul class="sub-menu"> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-19906"><a href="https://stormatics.tech/about-us"><span>About Stormatics</span></a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-19907"><a href="https://stormatics.tech/news"><span>News</span></a></li> </ul> </li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-19908"><a href="https://stormatics.tech/contact-us"><span>Contact Us</span></a></li> </ul> </div> </nav> </div> <div class="ct-menu-overlay"></div> </div> </div> <div id="ct-menu-mobile"> <div class="ct-mobile-meta-item btn-nav-mobile open-menu"> <span></span> </div> </div> </div> </div> </header> <div id="content" class="site-content"> <div class="content-inner"> <div class="container content-container"> <div class="row content-row"> <div id="primary" class="content-area content-has-sidebar float-left col-xl-9 col-lg-9 col-md-12 col-sm-12"> <main id="main" class="site-main"> <article id="post-22815" class="single-hentry post-22815 post type-post status-publish format-standard has-post-thumbnail hentry category-blogs category-service-oracle-to-postgresql-migration category-umairs-planet-postgresql"> <div class="entry-blog"> <div class="entry-featured"> <img width="870" height="457" src="https://stormatics.tech/wp-content/uploads/2024/11/Oracle-to-Postgres-series-870x457.webp" class="attachment-itfirm-post size-itfirm-post wp-post-image" alt="" decoding="async" /> </div> <div class="entry-body"> <ul class="entry-meta ct-item-meta"> <li class="item-date"><i class="caseicon-clock"></i>November 21, 2024</li> <li class="item-author"><i class="caseicon-user-alt"></i>By&nbsp;<a href="https://stormatics.tech/author/umair" title="Posts by Umair Shahid" rel="author">Umair Shahid</a></li> <li class="item-category"><i class="caseicon-tags-alt"></i><a href="https://stormatics.tech/category/blogs" rel="tag">Blog</a>, <a href="https://stormatics.tech/category/service-oracle-to-postgresql-migration" rel="tag">Service Oracle to PostgreSQL Migration</a>, <a href="https://stormatics.tech/category/umairs-planet-postgresql" rel="tag">Umair's Planet PostgreSQL</a></li> </ul> <h2 class="entry-title"> <a href="https://stormatics.tech/blogs/transitioning-from-oracle-to-postgresql-roles-privileges" title="Transitioning from Oracle to PostgreSQL: Roles &#038; Privileges"> Transitioning from Oracle to PostgreSQL: Roles &#038; Privileges </a> </h2> <div class="entry-content clearfix"> <div data-elementor-type="wp-post" data-elementor-id="22815" class="elementor elementor-22815"> <section class="elementor-section elementor-top-section elementor-element elementor-element-7ba58be elementor-section-boxed elementor-section-height-default elementor-section-height-default ct-header-fixed-none ct-column-none ct-row-scroll-none ct-row-gradient--none" data-id="7ba58be" data-element_type="section"> <div class="elementor-container elementor-column-gap-default "> <div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5bc5520 ct-column-none col-offset-none col-color-offset-none" data-id="5bc5520" data-element_type="column"> <div class="elementor-widget-wrap elementor-element-populated"> <div class="elementor-element elementor-element-b527e7a elementor-widget elementor-widget-text-editor" data-id="b527e7a" data-element_type="widget" data-widget_type="text-editor.default"> <div class="elementor-widget-container"> <style>/*! elementor - v3.23.0 - 23-07-2024 */ .elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:#69727d;color:#fff}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap{color:#69727d;border:3px solid;background-color:transparent}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap{margin-top:8px}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap-letter{width:1em;height:1em}.elementor-widget-text-editor .elementor-drop-cap{float:left;text-align:center;line-height:1;font-size:50px}.elementor-widget-text-editor .elementor-drop-cap-letter{display:inline-block}</style> <p><span style="font-weight: 400;">When moving from Oracle to PostgreSQL, one of the key differences lies in how each database handles roles and privileges. Oracle&#8217;s privilege model is deeply ingrained in enterprise systems, with fine-grained user controls and a strict distinction between users and roles. PostgreSQL, while just as capable, approaches roles and privileges differently, offering flexibility and simplicity, but it also requires a shift in mindset for Oracle users.</span></p><p><span style="font-weight: 400;">This article provides a practical guide for Oracle experts to understand and implement roles and privileges in PostgreSQL, addressing the structural differences, common challenges, and best practices to make this transition smooth.</span></p> </div> </div> </div> </div> </div> </section> <section class="elementor-section elementor-top-section elementor-element elementor-element-ae81787 elementor-section-full_width elementor-section-height-default elementor-section-height-default ct-header-fixed-none ct-column-none ct-row-scroll-none ct-row-gradient--none ct-container-none" data-id="ae81787" data-element_type="section"> <div class="elementor-container elementor-column-gap-default "> <div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-a4e583e ct-column-none col-offset-none col-color-offset-none" data-id="a4e583e" data-element_type="column"> <div class="elementor-widget-wrap elementor-element-populated"> <div class="elementor-element elementor-element-ac950f4 elementor-widget-divider--view-line elementor-widget elementor-widget-divider" data-id="ac950f4" data-element_type="widget" data-widget_type="divider.default"> <div class="elementor-widget-container"> <style>/*! elementor - v3.23.0 - 23-07-2024 */ .elementor-widget-divider{--divider-border-style:none;--divider-border-width:1px;--divider-color:#0c0d0e;--divider-icon-size:20px;--divider-element-spacing:10px;--divider-pattern-height:24px;--divider-pattern-size:20px;--divider-pattern-url:none;--divider-pattern-repeat:repeat-x}.elementor-widget-divider .elementor-divider{display:flex}.elementor-widget-divider .elementor-divider__text{font-size:15px;line-height:1;max-width:95%}.elementor-widget-divider .elementor-divider__element{margin:0 var(--divider-element-spacing);flex-shrink:0}.elementor-widget-divider .elementor-icon{font-size:var(--divider-icon-size)}.elementor-widget-divider .elementor-divider-separator{display:flex;margin:0;direction:ltr}.elementor-widget-divider--view-line_icon .elementor-divider-separator,.elementor-widget-divider--view-line_text .elementor-divider-separator{align-items:center}.elementor-widget-divider--view-line_icon .elementor-divider-separator:after,.elementor-widget-divider--view-line_icon .elementor-divider-separator:before,.elementor-widget-divider--view-line_text .elementor-divider-separator:after,.elementor-widget-divider--view-line_text .elementor-divider-separator:before{display:block;content:"";border-block-end:0;flex-grow:1;border-block-start:var(--divider-border-width) var(--divider-border-style) var(--divider-color)}.elementor-widget-divider--element-align-left .elementor-divider .elementor-divider-separator>.elementor-divider__svg:first-of-type{flex-grow:0;flex-shrink:100}.elementor-widget-divider--element-align-left .elementor-divider-separator:before{content:none}.elementor-widget-divider--element-align-left .elementor-divider__element{margin-left:0}.elementor-widget-divider--element-align-right .elementor-divider .elementor-divider-separator>.elementor-divider__svg:last-of-type{flex-grow:0;flex-shrink:100}.elementor-widget-divider--element-align-right .elementor-divider-separator:after{content:none}.elementor-widget-divider--element-align-right .elementor-divider__element{margin-right:0}.elementor-widget-divider--element-align-start .elementor-divider .elementor-divider-separator>.elementor-divider__svg:first-of-type{flex-grow:0;flex-shrink:100}.elementor-widget-divider--element-align-start .elementor-divider-separator:before{content:none}.elementor-widget-divider--element-align-start .elementor-divider__element{margin-inline-start:0}.elementor-widget-divider--element-align-end .elementor-divider .elementor-divider-separator>.elementor-divider__svg:last-of-type{flex-grow:0;flex-shrink:100}.elementor-widget-divider--element-align-end .elementor-divider-separator:after{content:none}.elementor-widget-divider--element-align-end .elementor-divider__element{margin-inline-end:0}.elementor-widget-divider:not(.elementor-widget-divider--view-line_text):not(.elementor-widget-divider--view-line_icon) .elementor-divider-separator{border-block-start:var(--divider-border-width) var(--divider-border-style) var(--divider-color)}.elementor-widget-divider--separator-type-pattern{--divider-border-style:none}.elementor-widget-divider--separator-type-pattern.elementor-widget-divider--view-line .elementor-divider-separator,.elementor-widget-divider--separator-type-pattern:not(.elementor-widget-divider--view-line) .elementor-divider-separator:after,.elementor-widget-divider--separator-type-pattern:not(.elementor-widget-divider--view-line) .elementor-divider-separator:before,.elementor-widget-divider--separator-type-pattern:not([class*=elementor-widget-divider--view]) .elementor-divider-separator{width:100%;min-height:var(--divider-pattern-height);-webkit-mask-size:var(--divider-pattern-size) 100%;mask-size:var(--divider-pattern-size) 100%;-webkit-mask-repeat:var(--divider-pattern-repeat);mask-repeat:var(--divider-pattern-repeat);background-color:var(--divider-color);-webkit-mask-image:var(--divider-pattern-url);mask-image:var(--divider-pattern-url)}.elementor-widget-divider--no-spacing{--divider-pattern-size:auto}.elementor-widget-divider--bg-round{--divider-pattern-repeat:round}.rtl .elementor-widget-divider .elementor-divider__text{direction:rtl}.e-con-inner>.elementor-widget-divider,.e-con>.elementor-widget-divider{width:var(--container-widget-width,100%);--flex-grow:var(--container-widget-flex-grow)}</style> <div class="elementor-divider"> <span class="elementor-divider-separator"> </span> </div> </div> </div> </div> </div> </div> </section> <section class="elementor-section elementor-top-section elementor-element elementor-element-8d99e33 elementor-section-boxed elementor-section-height-default elementor-section-height-default ct-header-fixed-none ct-column-none ct-row-scroll-none ct-row-gradient--none" data-id="8d99e33" data-element_type="section"> <div class="elementor-container elementor-column-gap-default "> <div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-dc08d20 ct-column-none col-offset-none col-color-offset-none" data-id="dc08d20" data-element_type="column"> <div class="elementor-widget-wrap elementor-element-populated"> <div class="elementor-element elementor-element-a74d5d8 elementor-widget elementor-widget-text-editor" data-id="a74d5d8" data-element_type="widget" data-widget_type="text-editor.default"> <div class="elementor-widget-container"> <h3><span style="font-weight: 400;">Table of Contents</span></h3><ol><li style="font-weight: 400;" aria-level="1"><strong><a href="#imp">Understanding Roles and Privileges</a></strong></li><li style="font-weight: 400;" aria-level="1"><strong><a href="#types">Roles and Privileges in Oracle</a></strong></li><li style="font-weight: 400;" aria-level="1"><strong><a href="#key">Roles and Privileges in PostgreSQL</a></strong></li><li style="font-weight: 400;" aria-level="1"><strong><a href="#case">Key Differences Between Oracle and PostgreSQL</a></strong></li><li style="font-weight: 400;" aria-level="1"><strong><a href="#best">Practical Considerations for Oracle Experts</a></strong></li><li><strong><a href="#conclu">Conclusion</a></strong></li></ol> </div> </div> </div> </div> </div> </section> <section class="elementor-section elementor-top-section elementor-element elementor-element-c801283 elementor-section-full_width elementor-section-height-default elementor-section-height-default ct-header-fixed-none ct-column-none ct-row-scroll-none ct-row-gradient--none ct-container-none" data-id="c801283" data-element_type="section"> <div class="elementor-container elementor-column-gap-default "> <div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-da3e10d ct-column-none col-offset-none col-color-offset-none" data-id="da3e10d" data-element_type="column"> <div class="elementor-widget-wrap elementor-element-populated"> <div class="elementor-element elementor-element-8bf02f3 elementor-widget-divider--view-line elementor-widget elementor-widget-divider" data-id="8bf02f3" data-element_type="widget" data-widget_type="divider.default"> <div class="elementor-widget-container"> <div class="elementor-divider"> <span class="elementor-divider-separator"> </span> </div> </div> </div> </div> </div> </div> </section> <section class="elementor-section elementor-top-section elementor-element elementor-element-0e8867b elementor-section-boxed elementor-section-height-default elementor-section-height-default ct-header-fixed-none ct-column-none ct-row-scroll-none ct-row-gradient--none" data-id="0e8867b" data-element_type="section" id="imp"> <div class="elementor-container elementor-column-gap-default "> <div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-f59253f ct-column-none col-offset-none col-color-offset-none" data-id="f59253f" data-element_type="column"> <div class="elementor-widget-wrap elementor-element-populated"> <div class="elementor-element elementor-element-121249d elementor-widget elementor-widget-text-editor" data-id="121249d" data-element_type="widget" data-widget_type="text-editor.default"> <div class="elementor-widget-container"> <h2><span style="font-weight: 400;">Understanding Roles and Privileges</span></h2><p><span style="font-weight: 400;">In any database or software system, managing access is essential to maintaining security, organization, and efficient operations. Two key elements that facilitate this are </span><b>roles</b><span style="font-weight: 400;"> and </span><b>privileges</b><span style="font-weight: 400;">.</span></p><ol><li style="font-weight: 400;" aria-level="1"><b>Roles</b><span style="font-weight: 400;">: Roles are groupings of permissions that define what actions users can perform within a system. By assigning users to specific roles, administrators can ensure that individuals or groups only have the access they need for their tasks, reducing the risk of unauthorized actions. For example, a </span><span style="font-weight: 400;">manager</span><span style="font-weight: 400;"> role in an HR system might have permissions to view and modify employee records, while a </span><span style="font-weight: 400;">staff</span><span style="font-weight: 400;"> role may only have permission to view their own records.</span></li><li style="font-weight: 400;" aria-level="1"><b>Privileges</b><span style="font-weight: 400;">: Privileges are specific permissions granted to roles or individual users, allowing them to perform particular actions, such as reading data, modifying data, or executing administrative functions. Privileges can be broad (e.g., full database control) or narrow (e.g., read-only access to a single table). In database systems, privileges control operations like </span><span style="font-weight: 400;">SELECT</span><span style="font-weight: 400;">, </span><span style="font-weight: 400;">INSERT</span><span style="font-weight: 400;">, </span><span style="font-weight: 400;">UPDATE</span><span style="font-weight: 400;">, and </span><span style="font-weight: 400;">DELETE</span><span style="font-weight: 400;"> on data objects.</span></li></ol><p><span style="font-weight: 400;">The combination of roles and privileges creates a secure environment where each user’s capabilities are clearly defined, reducing security vulnerabilities and making management easier for administrators.</span></p> </div> </div> </div> </div> </div> </section> <section class="elementor-section elementor-top-section elementor-element elementor-element-de48b06 elementor-section-boxed elementor-section-height-default elementor-section-height-default ct-header-fixed-none ct-column-none ct-row-scroll-none ct-row-gradient--none" data-id="de48b06" data-element_type="section" id="types"> <div class="elementor-container elementor-column-gap-default "> <div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-e6d25ee ct-column-none col-offset-none col-color-offset-none" data-id="e6d25ee" data-element_type="column"> <div class="elementor-widget-wrap elementor-element-populated"> <div class="elementor-element elementor-element-e223a5b elementor-widget elementor-widget-text-editor" data-id="e223a5b" data-element_type="widget" data-widget_type="text-editor.default"> <div class="elementor-widget-container"> <h2><span style="font-weight: 400;">Roles and Privileges in Oracle</span></h2><p><span style="font-weight: 400;">In Oracle, roles and privileges are structured to offer tight control over user access. Here are the foundational concepts:</span></p><ol><li style="font-weight: 400;" aria-level="1"><b>User Roles</b><span style="font-weight: 400;">: Oracle distinguishes between users and roles, where users are individual accounts, and roles are collections of privileges assigned to users. Roles make it easy to assign a consistent set of privileges across multiple users.</span></li><li style="font-weight: 400;" aria-level="1"><b>System Privileges</b><span style="font-weight: 400;">: These control database-wide capabilities like </span><span style="font-weight: 400;">CREATE USER</span><span style="font-weight: 400;">, </span><span style="font-weight: 400;">ALTER SYSTEM</span><span style="font-weight: 400;">, and </span><span style="font-weight: 400;">CREATE TABLE</span><span style="font-weight: 400;">. They enable users to perform tasks that affect the entire database environment.</span></li><li style="font-weight: 400;" aria-level="1"><b>Object Privileges</b><span style="font-weight: 400;">: These focus on specific objects like tables, views, or sequences, with privileges like </span><span style="font-weight: 400;">SELECT</span><span style="font-weight: 400;">, </span><span style="font-weight: 400;">INSERT</span><span style="font-weight: 400;">, </span><span style="font-weight: 400;">UPDATE</span><span style="font-weight: 400;">, and </span><span style="font-weight: 400;">DELETE</span><span style="font-weight: 400;">.</span></li><li style="font-weight: 400;" aria-level="1"><b>Granularity and Complexity</b><span style="font-weight: 400;">: Oracle&#8217;s model is designed for complex enterprise environments, allowing for detailed privilege configurations that make user access control robust but intricate.</span></li><li style="font-weight: 400;" aria-level="1"><b>Common Enterprise Roles</b><span style="font-weight: 400;">: DBAs often use predefined roles, such as </span><span style="font-weight: 400;">CONNECT</span><span style="font-weight: 400;">, </span><span style="font-weight: 400;">RESOURCE</span><span style="font-weight: 400;">, and </span><span style="font-weight: 400;">DBA</span><span style="font-weight: 400;">, which offer baseline permissions for general user, developer, and administrator access.</span></li></ol><p><span style="font-weight: 400;">This system supports granular privilege management but can become complex when roles overlap or when privileges need regular updates.</span></p> </div> </div> </div> </div> </div> </section> <section class="elementor-section elementor-top-section elementor-element elementor-element-5975416 elementor-section-boxed elementor-section-height-default elementor-section-height-default ct-header-fixed-none ct-column-none ct-row-scroll-none ct-row-gradient--none" data-id="5975416" data-element_type="section" id="key"> <div class="elementor-container elementor-column-gap-default "> <div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-118f0f6 ct-column-none col-offset-none col-color-offset-none" data-id="118f0f6" data-element_type="column"> <div class="elementor-widget-wrap elementor-element-populated"> <div class="elementor-element elementor-element-9a5783a elementor-widget elementor-widget-text-editor" data-id="9a5783a" data-element_type="widget" data-widget_type="text-editor.default"> <div class="elementor-widget-container"> <h2><span style="font-weight: 400;">Roles and Privileges in PostgreSQL</span></h2><p><span style="font-weight: 400;">PostgreSQL adopts a streamlined Role-Based Access Control (RBAC) model, treating users and roles as part of the same system. Here are some distinctions and features in PostgreSQL:</span></p><ol><li style="font-weight: 400;" aria-level="1"><b>Unified Roles</b><span style="font-weight: 400;">: Unlike Oracle, PostgreSQL treats roles as a unified entity for both users and groups, meaning that any role can have privileges and can be assigned to other roles. Users are simply roles with login capability.</span></li><li style="font-weight: 400;" aria-level="1"><b>Inheritance</b><span style="font-weight: 400;">: Roles in PostgreSQL can inherit privileges from other roles, creating a hierarchy. For example, if </span><span style="font-weight: 400;">developer</span><span style="font-weight: 400;"> inherits from </span><span style="font-weight: 400;">base_user</span><span style="font-weight: 400;">, it automatically gains all privileges assigned to </span><span style="font-weight: 400;">base_user</span><span style="font-weight: 400;">.</span></li><li style="font-weight: 400;" aria-level="1"><b>Default Role – Public</b><span style="font-weight: 400;">: PostgreSQL has a </span><span style="font-weight: 400;">public</span><span style="font-weight: 400;"> role granted to all users by default, meaning that any privileges assigned to </span><span style="font-weight: 400;">public</span><span style="font-weight: 400;"> apply universally. This is useful but requires careful management to avoid unnecessary exposure.</span></li><li style="font-weight: 400;" aria-level="1"><b>Privilege Types</b><span style="font-weight: 400;">: PostgreSQL provides similar object-level privileges (</span><span style="font-weight: 400;">SELECT</span><span style="font-weight: 400;">, </span><span style="font-weight: 400;">INSERT</span><span style="font-weight: 400;">, </span><span style="font-weight: 400;">UPDATE</span><span style="font-weight: 400;">, etc.) but has fewer built-in system privileges compared to Oracle. The database superuser role is often leveraged for administrative control.</span></li><li style="font-weight: 400;" aria-level="1"><b>Flexibility with Role Creation</b><span style="font-weight: 400;">: PostgreSQL allows roles to represent either single users or groups, simplifying privilege assignment without needing distinct constructs for each.</span></li><li style="font-weight: 400;" aria-level="1"><b>Grant and Revoke Commands</b><span style="font-weight: 400;">: PostgreSQL uses the same </span><span style="font-weight: 400;">GRANT</span><span style="font-weight: 400;"> and </span><span style="font-weight: 400;">REVOKE</span><span style="font-weight: 400;"> commands as Oracle, though some syntax differences exist. Privileges can be managed more broadly by applying them to schema-wide or database-wide permissions.</span></li></ol> </div> </div> </div> </div> </div> </section> <section class="elementor-section elementor-top-section elementor-element elementor-element-fefe98f elementor-section-boxed elementor-section-height-default elementor-section-height-default ct-header-fixed-none ct-column-none ct-row-scroll-none ct-row-gradient--none" data-id="fefe98f" data-element_type="section" id="case"> <div class="elementor-container elementor-column-gap-default "> <div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d562b54 ct-column-none col-offset-none col-color-offset-none" data-id="d562b54" data-element_type="column"> <div class="elementor-widget-wrap elementor-element-populated"> <div class="elementor-element elementor-element-f2c61fb elementor-widget elementor-widget-text-editor" data-id="f2c61fb" data-element_type="widget" data-widget_type="text-editor.default"> <div class="elementor-widget-container"> <h2><span style="font-weight: 400;">Key Differences Between Oracle and PostgreSQL</span></h2><h3><span style="font-weight: 400;">Terminology and Role Structure</span></h3><p><b>Oracle</b><span style="font-weight: 400;"> differentiates between users (accounts with access to resources) and roles (privilege groupings), whereas </span><b>PostgreSQL</b><span style="font-weight: 400;"> uses roles interchangeably for both users and groups.</span></p><h3><span style="font-weight: 400;">Managing Superuser Privileges</span></h3><p><span style="font-weight: 400;">PostgreSQL has a </span><b>superuser</b><span style="font-weight: 400;"> role that has all privileges, similar to Oracle&#8217;s </span><span style="font-weight: 400;">SYSDBA</span><span style="font-weight: 400;">. However, it&#8217;s recommended to use the superuser role sparingly and rely on customized roles to maintain security.</span></p><h3><span style="font-weight: 400;">Syntax Differences in Granting and Revoking Privileges</span></h3><p><span style="font-weight: 400;">While both databases use </span><span style="font-weight: 400;">GRANT</span><span style="font-weight: 400;"> and </span><span style="font-weight: 400;">REVOKE</span><span style="font-weight: 400;">, </span><b>PostgreSQL requires fewer privilege levels</b><span style="font-weight: 400;">. For instance, in PostgreSQL, </span><span style="font-weight: 400;">CONNECT</span><span style="font-weight: 400;"> and </span><span style="font-weight: 400;">TEMP</span><span style="font-weight: 400;"> privileges are at the database level, not part of a specific user privilege as in Oracle.</span></p> </div> </div> </div> </div> </div> </section> <section class="elementor-section elementor-top-section elementor-element elementor-element-2e1184c elementor-section-boxed elementor-section-height-default elementor-section-height-default ct-header-fixed-none ct-column-none ct-row-scroll-none ct-row-gradient--none" data-id="2e1184c" data-element_type="section" id="best"> <div class="elementor-container elementor-column-gap-default "> <div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-a113f2a ct-column-none col-offset-none col-color-offset-none" data-id="a113f2a" data-element_type="column"> <div class="elementor-widget-wrap elementor-element-populated"> <div class="elementor-element elementor-element-14be593 elementor-widget__width-initial elementor-widget elementor-widget-text-editor" data-id="14be593" data-element_type="widget" data-widget_type="text-editor.default"> <div class="elementor-widget-container"> <h2><span style="font-weight: 400;">Practical Considerations for Oracle Experts</span></h2><h3><span style="font-weight: 400;">Translating Oracle User Roles to PostgreSQL</span></h3><p><span style="font-weight: 400;">Oracle users are accustomed to defining roles with specific privileges. In PostgreSQL, consider combining user groups with </span><span style="font-weight: 400;">INHERIT</span><span style="font-weight: 400;"> privileges to replicate Oracle&#8217;s role structures. For example, define a role </span><span style="font-weight: 400;">app_user</span><span style="font-weight: 400;"> with base privileges, and assign it to various users who require similar access.</span></p><h3><span style="font-weight: 400;">Using Inheritance Wisely</span></h3><p><span style="font-weight: 400;">Inheritance in PostgreSQL offers a flexible way to grant permissions without redefining roles. For instance, if you have a </span><span style="font-weight: 400;">developer</span><span style="font-weight: 400;"> role that requires additional permissions, assign it to inherit from </span><span style="font-weight: 400;">app_user</span><span style="font-weight: 400;">, and only add the extra privileges. This minimizes the need for extensive </span><span style="font-weight: 400;">GRANT</span><span style="font-weight: 400;"> commands for each user.</span></p><h3><span style="font-weight: 400;">Managing the Public Role</span></h3><p><span style="font-weight: 400;">By default, PostgreSQL grants all users access to certain objects through the </span><span style="font-weight: 400;">public</span><span style="font-weight: 400;"> role. Carefully audit this role to ensure sensitive permissions aren’t unintentionally assigned. You can use commands like:</span></p><pre><span style="font-weight: 400;">REVOKE ALL ON DATABASE mydb FROM public;</span><br /><br /><span style="font-weight: 400;">REVOKE ALL ON SCHEMA myschema FROM public;</span></pre><h3><span style="font-weight: 400;">Handling Superuser Privileges</span></h3><p><span style="font-weight: 400;">For database maintenance and high-level administration, PostgreSQL&#8217;s superuser role is similar to Oracle’s </span><span style="font-weight: 400;">SYSDBA</span><span style="font-weight: 400;">. However, it is best practice to limit superuser use to administrative tasks only. Instead, create roles with specific administrative rights for database management.</span></p><h3><span style="font-weight: 400;">Schema-Based Permissions</span></h3><p><span style="font-weight: 400;">For multi-user environments, PostgreSQL allows you to assign permissions at the schema level, which can simplify access control for larger databases. For example, to give all </span><span style="font-weight: 400;">developer</span><span style="font-weight: 400;"> role members access to a schema:</span></p><pre><span style="font-weight: 400;">GRANT USAGE ON SCHEMA dev_schema TO developer;</span><br /><br /><span style="font-weight: 400;">GRANT SELECT ON ALL TABLES IN SCHEMA dev_schema TO developer;</span></pre><h3><span style="font-weight: 400;">Granting and Revoking Permissions in Bulk</span></h3><p><span style="font-weight: 400;">When handling multiple permissions across schemas or tables, PostgreSQL enables you to grant permissions at the schema level, making permission management efficient. For instance, granting </span><span style="font-weight: 400;">SELECT</span><span style="font-weight: 400;"> permissions across an entire schema for a role:</span></p><pre><span style="font-weight: 400;">GRANT SELECT ON ALL TABLES IN SCHEMA reports TO analyst;</span></pre> </div> </div> </div> </div> </div> </section> <section class="elementor-section elementor-top-section elementor-element elementor-element-444a84f elementor-section-boxed elementor-section-height-default elementor-section-height-default ct-header-fixed-none ct-column-none ct-row-scroll-none ct-row-gradient--none" data-id="444a84f" data-element_type="section"> <div class="elementor-container elementor-column-gap-default "> <div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-880aba2 ct-column-none col-offset-none col-color-offset-none" data-id="880aba2" data-element_type="column"> <div class="elementor-widget-wrap elementor-element-populated"> <div class="elementor-element elementor-element-e302de5 elementor-widget__width-initial elementor-widget elementor-widget-text-editor" data-id="e302de5" data-element_type="widget" id="conclu" data-widget_type="text-editor.default"> <div class="elementor-widget-container"> <h2><span style="font-weight: 400;">Conclusion</span></h2><p><span style="font-weight: 400;">Adapting to PostgreSQL’s roles and privileges model requires a shift in approach, particularly if you are accustomed to Oracle’s rigid distinction between users and roles. PostgreSQL offers a streamlined and flexible access model, which can simplify role management but needs thoughtful configuration to maintain security.</span></p><p><span style="font-weight: 400;">By leveraging PostgreSQL’s inheritance, schema-based permissions, and carefully auditing the </span><span style="font-weight: 400;">public</span><span style="font-weight: 400;"> role, Oracle experts can efficiently transition to PostgreSQL while retaining robust access control. For new PostgreSQL administrators from Oracle backgrounds, understanding these differences and applying best practices will ensure a secure, scalable, and manageable environment in PostgreSQL.</span></p> </div> </div> </div> </div> </div> </section> <section class="elementor-section elementor-top-section elementor-element elementor-element-a2ffd09 elementor-section-boxed elementor-section-height-default elementor-section-height-default ct-header-fixed-none ct-column-none ct-row-scroll-none ct-row-gradient--none" data-id="a2ffd09" data-element_type="section"> <div class="elementor-container elementor-column-gap-default "> <div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-9f2b0f0 ct-column-none col-offset-none col-color-offset-none" data-id="9f2b0f0" data-element_type="column"> <div class="elementor-widget-wrap elementor-element-populated"> <div class="elementor-element elementor-element-19449e4 elementor-widget__width-initial elementor-widget elementor-widget-text-editor" data-id="19449e4" data-element_type="widget" data-widget_type="text-editor.default"> <div class="elementor-widget-container"> <h2><span style="font-weight: 400;">Further Reading</span></h2><ul><li aria-level="1"><a title="Transitioning from Oracle to PostgreSQL: Partitioning" href="https://stormatics.tech/blogs/transitioning-from-oracle-to-postgresql-partitioning">Transitioning from Oracle to PostgreSQL: Partitioning</a></li><li aria-level="1"><a title="Transitioning from Oracle to PostgreSQL: Partitioning" href="https://stormatics.tech/blogs/transitioning-from-oracle-to-postgresql-concurrency-control">Transitioning from Oracle to PostgreSQL: Concurrency Control</a></li><li aria-level="1"><a href="https://stormatics.tech/blogs/transitioning-from-oracle-to-postgresql-pl-sql-vs-pl-pgsql">Transitioning from Oracle to PostgreSQL: PL/SQL vs PL/pgSQL</a></li><li style="font-weight: 400;" aria-level="1"><a href="https://stormatics.tech/blogs/transitioning-from-oracle-to-postgresql-tablespaces"><span style="font-weight: 400;">Transitioning from Oracle to PostgreSQL: Tablespaces</span></a></li><li style="font-weight: 400;" aria-level="1"><a href="https://stormatics.tech/blogs/transitioning-from-oracle-to-postgresql-understanding-the-concept-of-schema"><span style="font-weight: 400;">Transitioning from Oracle to PostgreSQL: Understanding the Concept of Schema</span></a></li><li style="font-weight: 400;" aria-level="1"><a href="https://stormatics.tech/blogs/postgresql-is-a-viable-alternative-to-oracle-here-is-why"><span style="font-weight: 400;">PostgreSQL is a viable alternative to Oracle – here is why…</span></a><span style="font-weight: 400;"> </span></li><li style="font-weight: 400;" aria-level="1"><a href="https://stormatics.tech/blogs/how-much-does-a-postgresql-license-cost"><span style="font-weight: 400;">“But how much does a PostgreSQL license actually cost?” A Frequently Asked Question from Oracle users considering PostgreSQL</span></a></li></ul><h2><span style="font-weight: 400;">Videos</span></h2><ul><li style="font-weight: 400;" aria-level="1"><a href="https://resources.stormatics.tech/transitioning-oracle-to-postgresql">Webinar: From Oracle to Postgres Understanding Core Differences for a Successful Transition</a></li><li style="font-weight: 400;" aria-level="1"><a href="https://resources.stormatics.tech/postgresql-101-for-oracle-database-administrators"><span style="font-weight: 400;">Webinar: PostgreSQL 101 for Oracle DBAs</span></a></li><li style="font-weight: 400;" aria-level="1"><a href="https://resources.stormatics.tech/fireside-oracle-to-postgresql-migration"><span style="font-weight: 400;">Fireside Chat: Oracle to PostgreSQL Migration </span></a></li></ul><h2><span style="font-weight: 400;">Packaged Services by Stormatics</span></h2><ul><li style="font-weight: 400;" aria-level="1"><a href="https://stormatics.tech/service/oracle-to-postgresql-migration"><span style="font-weight: 400;">Oracle to PostgreSQL Migration Service</span></a></li><li style="font-weight: 400;" aria-level="1"><a href="https://stormatics.tech/service/postgresql-training">PostgreSQL Training for Oracle Experts</a></li></ul> </div> </div> </div> </div> </div> </section> </div> </div> </div> </div> <div class="entry-navigation"> <div class="nav-links"> <div class="nav-item nav-post-prev"> <a class="nav-post-label" href="https://stormatics.tech/blogs/what-happens-behind-the-scenes-when-you-modify-a-row-in-postgresql"><i class="caseicon-double-chevron-left"></i>Previous Post</a> <div class="nav-post-holder"> <div class="nav-post-img"> <a href="https://stormatics.tech/blogs/what-happens-behind-the-scenes-when-you-modify-a-row-in-postgresql"><img src="https://stormatics.tech/wp-content/uploads/2024/11/DALL·E-2024-11-18-17.28.23-A-serene-and-simplified-illustration-of-a-field-filled-with-stacks-of-glowing-database-icons-resembling-cylindrical-data-storage-units-spread-across-1-61x52.webp" /></a> </div> <div class="nav-post-meta"> <a href="https://stormatics.tech/blogs/what-happens-behind-the-scenes-when-you-modify-a-row-in-postgresql">What Happens Behind the Scenes When You Modify a Row in PostgreSQL?</a> </div> </div> </div> <div class="nav-item nav-post-next"> </div> </div><!-- .nav-links --> </div> </article><!-- #post --> <div id="comments" class="comments-area"> <div id="respond" class="comment-respond"> <h3 id="reply-title" class="comment-reply-title">Leave A Comment <small><a rel="nofollow" id="cancel-comment-reply-link" href="/blogs/transitioning-from-oracle-to-postgresql-roles-privileges#respond" style="display:none;">Cancel Comment</a></small></h3><form action="https://stormatics.tech/wp-comments-post.php" method="post" id="commentform" class="comment-form" novalidate><div class="comment-form-comment"><textarea id="comment" name="comment" cols="45" rows="8" placeholder="Comment*" aria-required="true"></textarea></div><div class="row"><div class="comment-form-author col-lg-4 col-md-4 col-sm-12"><input id="author" name="author" type="text" value="" size="30" placeholder="Name*"/></div> <div class="comment-form-email col-lg-4 col-md-4 col-sm-12"><input id="email" name="email" type="text" value="" size="30" placeholder="Email*"/></div> <div class="comment-form-website col-lg-4 col-md-4 col-sm-12"><input id="website" name="url" type="text" value="" size="30" placeholder="Website*"/></div></div> <p class="comment-form-cookies-consent"><input id="wp-comment-cookies-consent" name="wp-comment-cookies-consent" type="checkbox" value="yes" /> <label for="wp-comment-cookies-consent">Save my name, email, and website in this browser for the next time I comment.</label></p> <div class="g-recaptcha" style="transform: scale(0.9); -webkit-transform: scale(0.9); transform-origin: 0 0; -webkit-transform-origin: 0 0;" data-sitekey="6LcRGwsqAAAAAEIsK9FC4BTdn8jhx9m_nW0b81N6"></div><script src='https://www.google.com/recaptcha/api.js?ver=1.25' id='wpcaptcha-recaptcha-js'></script><p class="form-submit"><input name="submit" type="submit" id="submit" class="submit" value="Post Comment" /> <input type='hidden' name='comment_post_ID' value='22815' id='comment_post_ID' /> <input type='hidden' name='comment_parent' id='comment_parent' value='0' /> </p></form> </div><!-- #respond --> </div><!-- #comments --> </main><!-- #main --> </div><!-- #primary --> <aside id="secondary" class="widget-area widget-has-sidebar sidebar-fixed col-xl-3 col-lg-3 col-md-12 col-sm-12"> <div class="sidebar-sticky"> <section id="search-5" class="widget widget_search"><div class="widget-content"> <form role="search" method="get" class="search-form" action="https://stormatics.tech/"> <div class="searchform-wrap"> <input type="text" placeholder="Search..." name="s" class="search-field" /> <button type="submit" class="search-submit"><i class="caseicon-search"></i></button> </div> </form></div></section><section id="custom_html-13" class="widget_text widget widget_custom_html"><div class="widget_text widget-content"><div class="textwidget custom-html-widget"><a href="https://hubs.ly/Q02Z10k_0"> <img src="https://stormatics.tech/wp-content/uploads/2024/11/Webinar-Achievingavailability-for-PG-1.png" alt="HA for Postgresql webinar"> </a></div></div></section><section id="custom_html-4" class="widget_text widget widget_custom_html"><div class="widget_text widget-content"><div class="textwidget custom-html-widget"><html> <p> &nbsp;&nbsp;&nbsp; <br> &nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp; </p> </html></div></div></section> </div> </aside> </div> </div> </div><!-- #content inner --> </div><!-- #content --> <footer id="colophon" class="site-footer-custom"> <div class="footer-custom-inner"> <div class="container"> <div class="row"> <div class="col-12"> <div data-elementor-type="wp-post" data-elementor-id="2405" class="elementor elementor-2405"> <section class="elementor-section elementor-top-section elementor-element elementor-element-1ce5f31 elementor-section-stretched elementor-section-boxed elementor-section-height-default elementor-section-height-default ct-header-fixed-none ct-column-none ct-row-scroll-none ct-row-gradient--none" data-id="1ce5f31" data-element_type="section" data-settings="{&quot;stretch_section&quot;:&quot;section-stretched&quot;,&quot;background_background&quot;:&quot;classic&quot;}"> <div class="elementor-container elementor-column-gap-extended "> <div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-dfcfefc ct-column-none col-offset-none col-color-offset-none" data-id="dfcfefc" data-element_type="column"> <div class="elementor-widget-wrap elementor-element-populated"> <div class="elementor-element elementor-element-c3b2b70 elementor-widget elementor-widget-ct_text_editor" data-id="c3b2b70" data-element_type="widget" data-widget_type="ct_text_editor.default"> <div class="elementor-widget-container"> <div id="ct_text_editor-c3b2b70" class="ct-text-editor wow fadeInUp" data-wow-delay="ms"> <div class="ct-item--inner"> <div class="ct-inline-css" data-css=" "> </div> <div class="ct-text-editor elementor-clearfix"> </div> </div> </div> </div> </div> <section class="elementor-section elementor-inner-section elementor-element elementor-element-beb2d80 elementor-section-boxed elementor-section-height-default elementor-section-height-default ct-header-fixed-none ct-column-none ct-row-scroll-none ct-row-gradient--none" data-id="beb2d80" data-element_type="section"> <div class="elementor-container elementor-column-gap-extended "> <div class="elementor-column elementor-col-25 elementor-inner-column elementor-element elementor-element-0586d88 ct-column-none col-offset-none col-color-offset-none" data-id="0586d88" data-element_type="column"> <div class="elementor-widget-wrap elementor-element-populated"> <div class="elementor-element elementor-element-f0abc96 elementor-widget elementor-widget-ct_heading" data-id="f0abc96" data-element_type="widget" data-widget_type="ct_heading.default"> <div class="elementor-widget-container"> <div id="ct_heading-f0abc96" class="ct-heading h-align- item-st-default highlight-style1"> <div class="ct-heading--inner"> <div class="ct-inline-css" data-css=" "> </div> <h4 class="item--title st-default " data-wow-delay="ms"> <span class="ct-text-inner">Our Services</span> </h4> </div> </div> </div> </div> <div class="elementor-element elementor-element-c8e00f9 elementor-widget elementor-widget-ct_link" data-id="c8e00f9" data-element_type="widget" data-widget_type="ct_link.default"> <div class="elementor-widget-container"> <div class="ct-link1 style2 "> <ul class="ct-link-items"> <li> <a href="https://stormatics.tech/service/24-7-postgresql-support"> 24/7 PostgreSQL Support </a> </li> <li> <a href="https://stormatics.tech/service/remote-dba"> Remote DBA </a> </li> <li> <a href="https://stormatics.tech/postgresql-consulting"> PostgreSQL Consulting </a> </li> <li> <a href="https://stormatics.tech/service/postgresql-health-check"> Health Check </a> </li> <li> <a href="https://stormatics.tech/service/postgresql-database-security-hardening"> Database Security Hardening </a> </li> <li> <a href="https://stormatics.tech/service/high-availability-disaster-recovery"> Cluster Setup with HA and DR </a> </li> <li> <a href="https://stormatics.tech/service/zero-downtime-postgresql-migration"> Zero Downtime PostgreSQL Migration </a> </li> <li> <a href="https://stormatics.tech/service/zero-downtime-postgresql-upgrade"> Zero Downtime PostgreSQL Upgrade </a> </li> <li> <a href="https://stormatics.tech/service/oracle-to-postgresql-migration"> Oracle to PostgreSQL Migration </a> </li> <li> <a href="https://stormatics.tech/service/postgresql-training"> PostgreSQL Training </a> </li> </ul> </div> </div> </div> </div> </div> <div class="elementor-column elementor-col-25 elementor-inner-column elementor-element elementor-element-3ee89b9 ct-column-none col-offset-none col-color-offset-none" data-id="3ee89b9" data-element_type="column"> <div class="elementor-widget-wrap elementor-element-populated"> <div class="elementor-element elementor-element-872616d elementor-widget elementor-widget-ct_heading" data-id="872616d" data-element_type="widget" data-widget_type="ct_heading.default"> <div class="elementor-widget-container"> <div id="ct_heading-872616d" class="ct-heading h-align- item-st-default highlight-style1"> <div class="ct-heading--inner"> <div class="ct-inline-css" data-css=" "> </div> <h4 class="item--title st-default " data-wow-delay="ms"> <span class="ct-text-inner">Our Projects</span> </h4> </div> </div> </div> </div> <div class="elementor-element elementor-element-320e80d elementor-widget elementor-widget-ct_link" data-id="320e80d" data-element_type="widget" data-widget_type="ct_link.default"> <div class="elementor-widget-container"> <div class="ct-link1 style2 "> <ul class="ct-link-items"> <li> <a href="https://stormatics.tech/pg_cirrus-hassle-free-postgresql-cluster-setup"> pg_cirrus – Hassle-free PostgreSQL Cluster Setup </a> </li> </ul> </div> </div> </div> </div> </div> <div class="elementor-column elementor-col-25 elementor-inner-column elementor-element elementor-element-9c14f49 ct-column-none col-offset-none col-color-offset-none" data-id="9c14f49" data-element_type="column"> <div class="elementor-widget-wrap elementor-element-populated"> <div class="elementor-element elementor-element-ae4aac6 elementor-widget elementor-widget-ct_heading" data-id="ae4aac6" data-element_type="widget" data-widget_type="ct_heading.default"> <div class="elementor-widget-container"> <div id="ct_heading-ae4aac6" class="ct-heading h-align- item-st-default highlight-style1"> <div class="ct-heading--inner"> <div class="ct-inline-css" data-css=" "> </div> <h4 class="item--title st-default " data-wow-delay="ms"> <span class="ct-text-inner">Quick Links</span> </h4> </div> </div> </div> </div> <div class="elementor-element elementor-element-263a7ed elementor-widget elementor-widget-ct_link" data-id="263a7ed" data-element_type="widget" data-widget_type="ct_link.default"> <div class="elementor-widget-container"> <div class="ct-link1 style2 "> <ul class="ct-link-items"> <li> <a href="https://stormatics.tech/our-blogs/"> Blog </a> </li> <li> <a href="https://stormatics.tech/about-us/"> Meet the Team </a> </li> <li> <a href="https://stormatics.tech/resources"> Resources </a> </li> <li> <a href="https://stormatics.tech/webinars"> Webinars </a> </li> <li> <a href="https://stormatics.tech/case-studies"> Case Studies </a> </li> <li> <a href="https://stormatics.tech/news/"> News </a> </li> <li> <a href="https://stormatics.tech/contact-us/"> Contact Us </a> </li> </ul> </div> </div> </div> </div> </div> <div class="elementor-column elementor-col-25 elementor-inner-column elementor-element elementor-element-bf41b8d ct-column-none col-offset-none col-color-offset-none" data-id="bf41b8d" data-element_type="column"> <div class="elementor-widget-wrap elementor-element-populated"> <div class="elementor-element elementor-element-3ae60ef elementor-widget elementor-widget-ct_heading" data-id="3ae60ef" data-element_type="widget" data-widget_type="ct_heading.default"> <div class="elementor-widget-container"> <div id="ct_heading-3ae60ef" class="ct-heading h-align- item-st-line-gr highlight-style1"> <div class="ct-heading--inner"> <div class="ct-inline-css" data-css=" #ct_heading-3ae60ef.ct-heading .st-line-gr .ct-text-inner::before { background-image: -webkit-gradient(linear, left top, left bottom, from(#11B97E), to(#2898BD)); background-image: -webkit-linear-gradient(to left, #11B97E, #2898BD); background-image: -moz-linear-gradient(to left, #11B97E, #2898BD); background-image: -ms-linear-gradient(to left, #11B97E, #2898BD); background-image: -o-linear-gradient(to left, #11B97E, #2898BD); background-image: linear-gradient(to left, #11B97E, #2898BD); filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#11B97E', endColorStr='#2898BD'); } "> </div> <h3 class="item--title st-line-gr " data-wow-delay="ms"> <span class="ct-text-inner">Contact Info</span> </h3> </div> </div> </div> </div> <div class="elementor-element elementor-element-8d5096e elementor-widget elementor-widget-ct_info_box" data-id="8d5096e" data-element_type="widget" data-widget_type="ct_info_box.default"> <div class="elementor-widget-container"> <div id="ct_info_box-8d5096e" class="ct-info-box ct-info-box2 wow pulse style3" data-wow-delay="ms"> <div class="ct-inline-css" data-css=" "> </div> <div class="ct-infobox-inner"> <div class="item--icon el-bounce"> <i aria-hidden="true" class="flaticon flaticon-email-1"></i> <a class="ct-info-link" href="mailto:info@staging.stormatics.tech"></a> </div> <div class="item--meta"> <div class="item--title el-empty">Send us an email</div> <div class="item--phone el-empty">info@stormatics.tech</div> </div> </div> </div> </div> </div> <div class="elementor-element elementor-element-cc2afbb elementor-widget elementor-widget-ct_heading" data-id="cc2afbb" data-element_type="widget" data-widget_type="ct_heading.default"> <div class="elementor-widget-container"> <div id="ct_heading-cc2afbb" class="ct-heading h-align- item-st-line-gr highlight-style1"> <div class="ct-heading--inner"> <div class="ct-inline-css" data-css=" #ct_heading-cc2afbb.ct-heading .st-line-gr .ct-text-inner::before { background-image: -webkit-gradient(linear, left top, left bottom, from(#11B97E), to(#2898BD)); background-image: -webkit-linear-gradient(to left, #11B97E, #2898BD); background-image: -moz-linear-gradient(to left, #11B97E, #2898BD); background-image: -ms-linear-gradient(to left, #11B97E, #2898BD); background-image: -o-linear-gradient(to left, #11B97E, #2898BD); background-image: linear-gradient(to left, #11B97E, #2898BD); filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#11B97E', endColorStr='#2898BD'); } "> </div> <h3 class="item--title st-line-gr " data-wow-delay="ms"> <span class="ct-text-inner">Follow us at</span> </h3> </div> </div> </div> </div> <div class="elementor-element elementor-element-c5d39f2 e-grid-align-left elementor-shape-rounded elementor-grid-0 elementor-widget elementor-widget-social-icons" data-id="c5d39f2" data-element_type="widget" data-widget_type="social-icons.default"> <div class="elementor-widget-container"> <style>/*! elementor - v3.23.0 - 23-07-2024 */ .elementor-widget-social-icons.elementor-grid-0 .elementor-widget-container,.elementor-widget-social-icons.elementor-grid-mobile-0 .elementor-widget-container,.elementor-widget-social-icons.elementor-grid-tablet-0 .elementor-widget-container{line-height:1;font-size:0}.elementor-widget-social-icons:not(.elementor-grid-0):not(.elementor-grid-tablet-0):not(.elementor-grid-mobile-0) .elementor-grid{display:inline-grid}.elementor-widget-social-icons .elementor-grid{grid-column-gap:var(--grid-column-gap,5px);grid-row-gap:var(--grid-row-gap,5px);grid-template-columns:var(--grid-template-columns);justify-content:var(--justify-content,center);justify-items:var(--justify-content,center)}.elementor-icon.elementor-social-icon{font-size:var(--icon-size,25px);line-height:var(--icon-size,25px);width:calc(var(--icon-size, 25px) + 2 * var(--icon-padding, .5em));height:calc(var(--icon-size, 25px) + 2 * var(--icon-padding, .5em))}.elementor-social-icon{--e-social-icon-icon-color:#fff;display:inline-flex;background-color:#69727d;align-items:center;justify-content:center;text-align:center;cursor:pointer}.elementor-social-icon i{color:var(--e-social-icon-icon-color)}.elementor-social-icon svg{fill:var(--e-social-icon-icon-color)}.elementor-social-icon:last-child{margin:0}.elementor-social-icon:hover{opacity:.9;color:#fff}.elementor-social-icon-android{background-color:#a4c639}.elementor-social-icon-apple{background-color:#999}.elementor-social-icon-behance{background-color:#1769ff}.elementor-social-icon-bitbucket{background-color:#205081}.elementor-social-icon-codepen{background-color:#000}.elementor-social-icon-delicious{background-color:#39f}.elementor-social-icon-deviantart{background-color:#05cc47}.elementor-social-icon-digg{background-color:#005be2}.elementor-social-icon-dribbble{background-color:#ea4c89}.elementor-social-icon-elementor{background-color:#d30c5c}.elementor-social-icon-envelope{background-color:#ea4335}.elementor-social-icon-facebook,.elementor-social-icon-facebook-f{background-color:#3b5998}.elementor-social-icon-flickr{background-color:#0063dc}.elementor-social-icon-foursquare{background-color:#2d5be3}.elementor-social-icon-free-code-camp,.elementor-social-icon-freecodecamp{background-color:#006400}.elementor-social-icon-github{background-color:#333}.elementor-social-icon-gitlab{background-color:#e24329}.elementor-social-icon-globe{background-color:#69727d}.elementor-social-icon-google-plus,.elementor-social-icon-google-plus-g{background-color:#dd4b39}.elementor-social-icon-houzz{background-color:#7ac142}.elementor-social-icon-instagram{background-color:#262626}.elementor-social-icon-jsfiddle{background-color:#487aa2}.elementor-social-icon-link{background-color:#818a91}.elementor-social-icon-linkedin,.elementor-social-icon-linkedin-in{background-color:#0077b5}.elementor-social-icon-medium{background-color:#00ab6b}.elementor-social-icon-meetup{background-color:#ec1c40}.elementor-social-icon-mixcloud{background-color:#273a4b}.elementor-social-icon-odnoklassniki{background-color:#f4731c}.elementor-social-icon-pinterest{background-color:#bd081c}.elementor-social-icon-product-hunt{background-color:#da552f}.elementor-social-icon-reddit{background-color:#ff4500}.elementor-social-icon-rss{background-color:#f26522}.elementor-social-icon-shopping-cart{background-color:#4caf50}.elementor-social-icon-skype{background-color:#00aff0}.elementor-social-icon-slideshare{background-color:#0077b5}.elementor-social-icon-snapchat{background-color:#fffc00}.elementor-social-icon-soundcloud{background-color:#f80}.elementor-social-icon-spotify{background-color:#2ebd59}.elementor-social-icon-stack-overflow{background-color:#fe7a15}.elementor-social-icon-steam{background-color:#00adee}.elementor-social-icon-stumbleupon{background-color:#eb4924}.elementor-social-icon-telegram{background-color:#2ca5e0}.elementor-social-icon-threads{background-color:#000}.elementor-social-icon-thumb-tack{background-color:#1aa1d8}.elementor-social-icon-tripadvisor{background-color:#589442}.elementor-social-icon-tumblr{background-color:#35465c}.elementor-social-icon-twitch{background-color:#6441a5}.elementor-social-icon-twitter{background-color:#1da1f2}.elementor-social-icon-viber{background-color:#665cac}.elementor-social-icon-vimeo{background-color:#1ab7ea}.elementor-social-icon-vk{background-color:#45668e}.elementor-social-icon-weibo{background-color:#dd2430}.elementor-social-icon-weixin{background-color:#31a918}.elementor-social-icon-whatsapp{background-color:#25d366}.elementor-social-icon-wordpress{background-color:#21759b}.elementor-social-icon-x-twitter{background-color:#000}.elementor-social-icon-xing{background-color:#026466}.elementor-social-icon-yelp{background-color:#af0606}.elementor-social-icon-youtube{background-color:#cd201f}.elementor-social-icon-500px{background-color:#0099e5}.elementor-shape-rounded .elementor-icon.elementor-social-icon{border-radius:10%}.elementor-shape-circle .elementor-icon.elementor-social-icon{border-radius:50%}</style> <div class="elementor-social-icons-wrapper elementor-grid"> <span class="elementor-grid-item"> <a class="elementor-icon elementor-social-icon elementor-social-icon-linkedin elementor-animation-grow elementor-repeater-item-82642aa" href="https://www.linkedin.com/company/stormatics" target="_blank"> <span class="elementor-screen-only">Linkedin</span> <i class="fab fa-linkedin"></i> </a> </span> <span class="elementor-grid-item"> <a class="elementor-icon elementor-social-icon elementor-social-icon-youtube elementor-animation-grow elementor-repeater-item-626495c" href="https://www.youtube.com/@stormatics" target="_blank"> <span class="elementor-screen-only">Youtube</span> <i class="fab fa-youtube"></i> </a> </span> <span class="elementor-grid-item"> <a class="elementor-icon elementor-social-icon elementor-social-icon-flaticon-twitter elementor-animation-grow elementor-repeater-item-c86bc59" href="https://twitter.com/StormaticsTech" target="_blank"> <span class="elementor-screen-only">Flaticon-twitter</span> <i class="flaticon flaticon-twitter"></i> </a> </span> <span class="elementor-grid-item"> <a class="elementor-icon elementor-social-icon elementor-social-icon-facebook elementor-animation-grow elementor-repeater-item-5a38f6d" href="https://www.facebook.com/stormatics" target="_blank"> <span class="elementor-screen-only">Facebook</span> <i class="fab fa-facebook"></i> </a> </span> </div> </div> </div> </div> </div> </div> </section> <div class="elementor-element elementor-element-0c5472c elementor-widget-divider--view-line elementor-widget elementor-widget-divider" data-id="0c5472c" data-element_type="widget" data-widget_type="divider.default"> <div class="elementor-widget-container"> <div class="elementor-divider"> <span class="elementor-divider-separator"> </span> </div> </div> </div> <div class="elementor-element elementor-element-73604b9 elementor-widget elementor-widget-ct_logo" data-id="73604b9" data-element_type="widget" data-widget_type="ct_logo.default"> <div class="elementor-widget-container"> <div id="ct_logo-73604b9" class="ct-logo style1"> <div class="ct-inline-css" data-css=" "> </div> <a href="https://stormatics.tech/" target="_blank"> <img width="4298" height="504" src="https://stormatics.tech/wp-content/uploads/2021/11/white_stormatics-final-logos-02-tinified.png" class="attachment-full" alt="Stormatics professional services for PostgreSQL" /> </a> </div> </div> </div> <div class="elementor-element elementor-element-b209e5c elementor-widget elementor-widget-ct_text_editor" data-id="b209e5c" data-element_type="widget" data-widget_type="ct_text_editor.default"> <div class="elementor-widget-container"> <div id="ct_text_editor-b209e5c" class="ct-text-editor " data-wow-delay="ms"> <div class="ct-item--inner"> <div class="ct-inline-css" data-css=" "> </div> <div class="ct-text-editor elementor-clearfix"> <p><span style="letter-spacing: 0px">Our mission is to help businesses scale PostgreSQL reliably for critical data</span></p><p>All rights reserved | <a href="https://stormatics.tech/privacy-policy">Privacy Policy</a></p><p><em>Postgres, PostgreSQL and the Slonik Logo are registered trademarks of the PostgreSQL Community Association of Canada</em></p> </div> </div> </div> </div> </div> </div> </div> </div> </section> </div> </div> </div> </div> </div> </footer> </div><!-- #page --> <div class="ct-modal ct-modal-search"> <div class="ct-modal-close"><i class="ct-icon-close"></i></div> <div class="ct-modal-overlay"></div> <div class="ct-modal-content"> <form role="search" method="get" class="search-form-popup" action="https://stormatics.tech/"> <div class="searchform-wrap"> <input type="text" placeholder="Enter Keywords" id="search" name="s" class="search-field" /> <button type="submit" class="search-submit"><i class="caseicon-search"></i></button> </div> </form> </div> </div> <script>!function () {var reb2b = window.reb2b = window.reb2b || []; if (reb2b.invoked) return;reb2b.invoked = true;reb2b.methods = ["identify", "collect"]; reb2b.factory = function (method) {return function () {var args = Array.prototype.slice.call(arguments); args.unshift(method);reb2b.push(args);return reb2b;};}; for (var i = 0; i < reb2b.methods.length; i++) {var key = reb2b.methods[i];reb2b[key] = reb2b.factory(key);} reb2b.load = function (key) {var script = document.createElement("script");script.type = "text/javascript";script.async = true; script.src = "https://s3-us-west-2.amazonaws.com/b2bjsstore/b/" + key + "/reb2b.js.gz"; var first = document.getElementsByTagName("script")[0]; first.parentNode.insertBefore(script, first);}; reb2b.SNIPPET_VERSION = "1.0.1";reb2b.load("M5NRP9H19GO1");}();</script> <script type="text/javascript"> (function(srv, token, af){var s = document.getElementsByTagName("script")[0]; var b = document.createElement("script"); b.type = "text/javascript";b.async = true; b.src = srv + "/dev-widget.js?appfiles=" + af + "&utk=" + token; s.parentNode.insertBefore(b, s);}) ('https://user.getrisk.info/chatbot', 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyZWZlcnJlciI6Imh0dHBzOi8vc3Rvcm1hdGljcy50ZWNoIiwidXNlcl9vcmdfaWQiOjYxNzUzMDMzODA1MDA0ODAsInRva2VuX3R5cGUiOiJjaGF0Ym90In0.eBm3o_IpZ2lPCZaE9urhoFI2KzYJ7Z97AQ4eY3sdW7g', 'no'); </script> <script type="text/javascript"> jQuery( function($) { if ( typeof wc_add_to_cart_params === 'undefined' ) return false; $(document.body).on( 'added_to_cart', function( event, fragments, cart_hash, $button ) { var $pid = $button.data('product_id'); $.ajax({ type: 'POST', url: wc_add_to_cart_params.ajax_url, data: { 'action': 'item_added', 'id' : $pid }, success: function (response) { $('.ct-widget-cart-wrap').addClass('open'); } }); }); }); </script> <script type='text/javascript'> const lazyloadRunObserver = () => { const lazyloadBackgrounds = document.querySelectorAll( `.e-con.e-parent:not(.e-lazyloaded)` ); const lazyloadBackgroundObserver = new IntersectionObserver( ( entries ) => { entries.forEach( ( entry ) => { if ( entry.isIntersecting ) { let lazyloadBackground = entry.target; if( lazyloadBackground ) { lazyloadBackground.classList.add( 'e-lazyloaded' ); } lazyloadBackgroundObserver.unobserve( entry.target ); } }); }, { rootMargin: '200px 0px 200px 0px' } ); lazyloadBackgrounds.forEach( ( lazyloadBackground ) => { lazyloadBackgroundObserver.observe( lazyloadBackground ); } ); }; const events = [ 'DOMContentLoaded', 'elementor/lazyload/observe', ]; events.forEach( ( event ) => { document.addEventListener( event, lazyloadRunObserver ); } ); </script> <link rel='stylesheet' id='elementor-post-2401-css' href='https://stormatics.tech/wp-content/uploads/elementor/css/post-2401.css?ver=1730482460' type='text/css' media='all' /> <link rel='stylesheet' id='ctc-blocks-core-css' href='https://stormatics.tech/wp-content/plugins/copy-the-code/classes/blocks/assets/css/style.css?ver=4.0.3' type='text/css' media='all' /> <link rel='stylesheet' id='ctc-el-email-sample-css' href='https://stormatics.tech/wp-content/plugins/copy-the-code/classes/elementor/widgets/email-sample/style.css?ver=4.0.3' type='text/css' media='all' /> <link rel='stylesheet' id='ctc-blocks-css' href='https://stormatics.tech/wp-content/plugins/copy-the-code/classes/blocks/assets/css/style.css?ver=4.0.3' type='text/css' media='all' /> <link rel='stylesheet' id='ctc-el-email-address-css' href='https://stormatics.tech/wp-content/plugins/copy-the-code/classes/elementor/widgets/email-address/style.css?ver=4.0.3' type='text/css' media='all' /> <link rel='stylesheet' id='ctc-el-phone-number-css' href='https://stormatics.tech/wp-content/plugins/copy-the-code/classes/elementor/widgets/phone-number/style.css?ver=4.0.3' type='text/css' media='all' /> <link rel='stylesheet' id='ctc-el-copy-icon-css' href='https://stormatics.tech/wp-content/plugins/copy-the-code/classes/elementor/widgets/copy-icon/style.css?ver=4.0.3' type='text/css' media='all' /> <link rel='stylesheet' id='ctc-el-blockquote-css' href='https://stormatics.tech/wp-content/plugins/copy-the-code/classes/elementor/widgets/blockquote/style.css?ver=4.0.3' type='text/css' media='all' /> <link rel='stylesheet' id='ctc-el-code-snippet-css' href='https://stormatics.tech/wp-content/plugins/copy-the-code/classes/elementor/widgets/code-snippet/style.css?ver=4.0.3' type='text/css' media='all' /> <link rel='stylesheet' id='ctc-el-message-css' href='https://stormatics.tech/wp-content/plugins/copy-the-code/classes/elementor/widgets/message/style.css?ver=4.0.3' type='text/css' media='all' /> <link rel='stylesheet' id='ctc-el-wish-css' href='https://stormatics.tech/wp-content/plugins/copy-the-code/classes/elementor/widgets/wish/style.css?ver=4.0.3' type='text/css' media='all' /> <link rel='stylesheet' id='ctc-el-shayari-css' href='https://stormatics.tech/wp-content/plugins/copy-the-code/classes/elementor/widgets/shayari/style.css?ver=4.0.3' type='text/css' media='all' /> <link rel='stylesheet' id='ctc-el-sms-css' href='https://stormatics.tech/wp-content/plugins/copy-the-code/classes/elementor/widgets/sms/style.css?ver=4.0.3' type='text/css' media='all' /> <link rel='stylesheet' id='ctc-el-deal-css' href='https://stormatics.tech/wp-content/plugins/copy-the-code/classes/elementor/widgets/deal/style.css?ver=4.0.3' type='text/css' media='all' /> <link rel='stylesheet' id='ctc-el-coupon-css' href='https://stormatics.tech/wp-content/plugins/copy-the-code/classes/elementor/widgets/coupon/style.css?ver=4.0.3' type='text/css' media='all' /> <link rel='stylesheet' id='ctc-el-ai-prompt-generator-css' href='https://stormatics.tech/wp-content/plugins/copy-the-code/classes/elementor/widgets/ai-prompt-generator/style.css?ver=4.0.3' type='text/css' media='all' /> <link rel='stylesheet' id='ctc-el-table-css' href='https://stormatics.tech/wp-content/plugins/copy-the-code/classes/elementor/widgets/table/style.css?ver=4.0.3' type='text/css' media='all' /> <link rel='stylesheet' id='ctc-el-contact-information-css' href='https://stormatics.tech/wp-content/plugins/copy-the-code/classes/elementor/widgets/contact-information/style.css?ver=4.0.3' type='text/css' media='all' /> <link rel='stylesheet' id='elementor-post-2408-css' href='https://stormatics.tech/wp-content/uploads/elementor/css/post-2408.css?ver=1730472252' type='text/css' media='all' /> <link rel='stylesheet' id='e-animations-css' href='https://stormatics.tech/wp-content/plugins/elementor/assets/lib/animations/animations.min.css?ver=3.23.2' type='text/css' media='all' /> <script type="text/javascript" src="https://stormatics.tech/wp-content/plugins/coblocks/dist/js/coblocks-animation.js?ver=3.1.13" id="coblocks-animation-js"></script> <script type="text/javascript" src="https://stormatics.tech/wp-content/plugins/coblocks/dist/js/vendors/tiny-swiper.js?ver=3.1.13" id="coblocks-tiny-swiper-js"></script> <script type="text/javascript" id="coblocks-tinyswiper-initializer-js-extra"> /* <![CDATA[ */ var coblocksTinyswiper = {"carouselPrevButtonAriaLabel":"Previous","carouselNextButtonAriaLabel":"Next","sliderImageAriaLabel":"Image"}; /* ]]> */ </script> <script type="text/javascript" src="https://stormatics.tech/wp-content/plugins/coblocks/dist/js/coblocks-tinyswiper-initializer.js?ver=3.1.13" id="coblocks-tinyswiper-initializer-js"></script> <script type="text/javascript" id="copy-the-code-js-extra"> /* <![CDATA[ */ var copyTheCode = {"trim_lines":"","remove_spaces":"1","copy_content_as":"","previewMarkup":"<h2>Hello World<\/h2>","buttonMarkup":"<button class=\"copy-the-code-button\" title=\"\"><\/button>","buttonSvg":"<svg aria-hidden=\"true\" focusable=\"false\" role=\"img\" class=\"copy-icon\" viewBox=\"0 0 16 16\" width=\"16\" height=\"16\" fill=\"currentColor\"><path d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\"><\/path><path d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"><\/path><\/svg>","selectors":[{"selector":"pre","style":"cover","button_text":"Copy to Clipboard","button_title":"Copy to Clipboard","button_copy_text":"Copied","button_position":"outside","copy_format":"","conditions":[]}],"selector":"pre","settings":{"selector":"pre","button-text":"Copy to Clipboard","button-title":"Copy to Clipboard","button-copy-text":"Copied!","button-position":"inside","copy-format":"default"},"string":{"title":"Copy to Clipboard","copy":"Copy to Clipboard","copied":"Copied!"},"image-url":"https:\/\/stormatics.tech\/wp-content\/plugins\/copy-the-code\/\/assets\/images\/copy-1.svg","redirect_url":""}; /* ]]> */ </script> <script type="text/javascript" src="https://stormatics.tech/wp-content/plugins/copy-the-code/assets/js/copy-the-code.js?ver=4.0.3" id="copy-the-code-js"></script> <script type="text/javascript" src="https://stormatics.tech/wp-content/plugins/copy-the-code/assets/js/clipboard.js?ver=4.0.3" id="ctc-clipboard-js"></script> <script type="text/javascript" src="https://stormatics.tech/wp-content/plugins/copy-the-code/assets/js/copy-inline.js?ver=4.0.3" id="ctc-copy-inline-js"></script> <script type="text/javascript" id="leadin-script-loader-js-js-extra"> /* <![CDATA[ */ var leadin_wordpress = {"userRole":"visitor","pageType":"post","leadinPluginVersion":"11.1.66"}; /* ]]> */ </script> <script type="text/javascript" src="https://js.hs-scripts.com/40095450.js?integration=WordPress&amp;ver=11.1.66" id="leadin-script-loader-js-js"></script> <script type="text/javascript" src="https://stormatics.tech/wp-content/themes/itfirm/assets/js/bootstrap.min.js?ver=4.0.0" id="bootstrap-js"></script> <script type="text/javascript" src="https://stormatics.tech/wp-content/themes/itfirm/assets/js/nice-select.min.js?ver=all" id="nice-select-js"></script> <script type="text/javascript" src="https://stormatics.tech/wp-content/themes/itfirm/assets/js/match-height-min.js?ver=1.0.0" id="match-height-js"></script> <script type="text/javascript" src="https://stormatics.tech/wp-content/themes/itfirm/assets/js/magnific-popup.min.js?ver=1.0.0" id="magnific-popup-js"></script> <script type="text/javascript" src="https://stormatics.tech/wp-content/themes/itfirm/assets/js/progressbar.min.js?ver=1.0.0" id="progressbar-js"></script> <script type="text/javascript" src="https://stormatics.tech/wp-content/themes/itfirm/assets/js/wow.min.js?ver=1.0.0" id="wow-js"></script> <script type="text/javascript" src="https://stormatics.tech/wp-includes/js/comment-reply.min.js?ver=6.6.2" id="comment-reply-js" async="async" data-wp-strategy="async"></script> <script type="text/javascript" src="https://stormatics.tech/wp-content/themes/itfirm/assets/js/main.js?ver=1.4.0" id="itfirm-main-js"></script> <script type="text/javascript" src="https://stormatics.tech/wp-content/plugins/copy-the-code/classes/blocks/assets/js/core.js?ver=4.0.3" id="ctc-blocks-core-js"></script> <script type="text/javascript" src="https://stormatics.tech/wp-content/plugins/copy-the-code/classes/elementor/widgets/deal/script.js?ver=4.0.3" id="ctc-el-deal-js"></script> <script type="text/javascript" src="https://stormatics.tech/wp-content/plugins/copy-the-code/classes/elementor/widgets/coupon/script.js?ver=4.0.3" id="ctc-el-coupon-js"></script> <script type="text/javascript" src="https://stormatics.tech/wp-content/plugins/copy-the-code/classes/elementor/widgets/ai-prompt-generator/script.js?ver=4.0.3" id="ctc-el-ai-prompt-generator-js"></script> <script type="text/javascript" src="https://stormatics.tech/wp-content/themes/itfirm/elementor/js/ct-inline-css.js?ver=1.4.0" id="ct-inline-css-js-js"></script> <script type="text/javascript" src="https://stormatics.tech/wp-content/plugins/elementor/assets/js/webpack.runtime.min.js?ver=3.23.2" id="elementor-webpack-runtime-js"></script> <script type="text/javascript" src="https://stormatics.tech/wp-content/plugins/elementor/assets/js/frontend-modules.min.js?ver=3.23.2" id="elementor-frontend-modules-js"></script> <script type="text/javascript" src="https://stormatics.tech/wp-content/plugins/elementor/assets/lib/waypoints/waypoints.min.js?ver=4.0.2" id="elementor-waypoints-js"></script> <script type="text/javascript" src="https://stormatics.tech/wp-includes/js/jquery/ui/core.min.js?ver=1.13.3" id="jquery-ui-core-js"></script> <script type="text/javascript" id="elementor-frontend-js-before"> /* <![CDATA[ */ var elementorFrontendConfig = {"environmentMode":{"edit":false,"wpPreview":false,"isScriptDebug":false},"i18n":{"shareOnFacebook":"Share on Facebook","shareOnTwitter":"Share on Twitter","pinIt":"Pin it","download":"Download","downloadImage":"Download image","fullscreen":"Fullscreen","zoom":"Zoom","share":"Share","playVideo":"Play Video","previous":"Previous","next":"Next","close":"Close","a11yCarouselWrapperAriaLabel":"Carousel | Horizontal scrolling: Arrow Left & Right","a11yCarouselPrevSlideMessage":"Previous slide","a11yCarouselNextSlideMessage":"Next slide","a11yCarouselFirstSlideMessage":"This is the first slide","a11yCarouselLastSlideMessage":"This is the last slide","a11yCarouselPaginationBulletMessage":"Go to slide"},"is_rtl":false,"breakpoints":{"xs":0,"sm":480,"md":768,"lg":1025,"xl":1440,"xxl":1600},"responsive":{"breakpoints":{"mobile":{"label":"Mobile Portrait","value":767,"default_value":767,"direction":"max","is_enabled":true},"mobile_extra":{"label":"Mobile Landscape","value":880,"default_value":880,"direction":"max","is_enabled":false},"tablet":{"label":"Tablet Portrait","value":1024,"default_value":1024,"direction":"max","is_enabled":true},"tablet_extra":{"label":"Tablet Landscape","value":1200,"default_value":1200,"direction":"max","is_enabled":false},"laptop":{"label":"Laptop","value":1366,"default_value":1366,"direction":"max","is_enabled":false},"widescreen":{"label":"Widescreen","value":2400,"default_value":2400,"direction":"min","is_enabled":false}}},"version":"3.23.2","is_static":false,"experimentalFeatures":{"e_optimized_css_loading":true,"additional_custom_breakpoints":true,"container_grid":true,"e_swiper_latest":true,"e_nested_atomic_repeaters":true,"e_onboarding":true,"home_screen":true,"ai-layout":true,"landing-pages":true,"e_lazyload":true},"urls":{"assets":"https:\/\/stormatics.tech\/wp-content\/plugins\/elementor\/assets\/","ajaxurl":"https:\/\/stormatics.tech\/wp-admin\/admin-ajax.php"},"nonces":{"floatingButtonsClickTracking":"ac8c2a1105"},"swiperClass":"swiper","settings":{"page":[],"editorPreferences":[]},"kit":{"body_background_background":"classic","active_breakpoints":["viewport_mobile","viewport_tablet"],"global_image_lightbox":"yes","lightbox_enable_counter":"yes","lightbox_enable_fullscreen":"yes","lightbox_enable_zoom":"yes","lightbox_enable_share":"yes","lightbox_title_src":"title","lightbox_description_src":"description"},"post":{"id":2405,"title":"Oracle%20to%20PostgreSQL%3A%20Roles%20%26%20Privileges%20%7C%20Stormatics","excerpt":"","featuredImage":false}}; /* ]]> */ </script> <script type="text/javascript" src="https://stormatics.tech/wp-content/plugins/elementor/assets/js/frontend.min.js?ver=3.23.2" id="elementor-frontend-js"></script> </body> </html> <!-- Page uncached by LiteSpeed Cache 6.5.2 on 2024-11-24 03:06:30 -->

Pages: 1 2 3 4 5 6 7 8 9 10