{"id":28577,"date":"2023-10-12T11:14:13","date_gmt":"2023-10-12T09:14:13","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=28577"},"modified":"2023-10-12T11:14:15","modified_gmt":"2023-10-12T09:14:15","slug":"how-the-name-of-the-initial-superuser-is-chosen-in-postgresql","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/how-the-name-of-the-initial-superuser-is-chosen-in-postgresql\/","title":{"rendered":"How the name of the initial superuser is chosen in PostgreSQL"},"content":{"rendered":"\n<p>When working with a PostgreSQL instance, most of the time the initial superuser is called &#8220;postgres&#8221;. One might think this is always the case, and this user is there by default. But the name for that user is chosen by some rules and in this post we&#8217;ll look at this.<\/p>\n\n\n\n<p>In almost all the installations we&#8217;ve seen out there, PostgreSQL is running under the &#8220;postgres&#8221; operating system user. On my sandbox this is true as well:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\npostgres@debian12-pg:\/home\/postgres\/ &#x5B;pg170] whoami\npostgres\n<\/pre><\/div>\n\n\n<p>When you initialize a new cluster with that user, you by default get the &#8220;postgres&#8221; superuser in the new cluster:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; highlight: [1]; title: ; notranslate\" title=\"\">\npostgres@debian12-pg:\/home\/postgres\/ &#x5B;pg170] initdb --pgdata \/var\/tmp\/xx\nThe files belonging to this database system will be owned by user &quot;postgres&quot;.\nThis user must also own the server process.\n\nThe database cluster will be initialized with locale &quot;en_US.UTF-8&quot;.\nThe default database encoding has accordingly been set to &quot;UTF8&quot;.\nThe default text search configuration will be set to &quot;english&quot;.\n\nData page checksums are disabled.\n\nfixing permissions on existing directory \/var\/tmp\/xx ... ok\ncreating subdirectories ... ok\nselecting dynamic shared memory implementation ... posix\nselecting default max_connections ... 100\nselecting default shared_buffers ... 128MB\nselecting default time zone ... Europe\/Zurich\ncreating configuration files ... ok\nrunning bootstrap script ... ok\nperforming post-bootstrap initialization ... ok\nsyncing data to disk ... ok\n\ninitdb: warning: enabling &quot;trust&quot; authentication for local connections\ninitdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb.\n\nSuccess. You can now start the database server using:\n\n    pg_ctl -D \/var\/tmp\/xx -l logfile start\n<\/pre><\/div>\n\n\n<p>Starting up the cluster and checking for the user name confirms this:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; highlight: [1,2,3,7]; title: ; notranslate\" title=\"\">\npostgres@debian12-pg:\/home\/postgres\/ &#x5B;pg170] export PGPORT=9999\npostgres@debian12-pg:\/home\/postgres\/ &#x5B;pg170] pg_ctl --pgdata \/var\/tmp\/xx start\npostgres@debian12-pg:\/home\/postgres\/ &#x5B;pg170] psql -h \/tmp -c &quot;\\du&quot;\n                                   List of roles\n Role name |                         Attributes                         | Member of \n-----------+------------------------------------------------------------+-----------\n postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS | {}\n<\/pre><\/div>\n\n\n<p>Initializing a cluster with another operating system user will give that user name as the initial superuser name:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; highlight: [1,2,3]; title: ; notranslate\" title=\"\">\npostgres@debian12-pg:\/home\/postgres\/ &#x5B;pg170] sudo useradd -s \/bin\/bash daniel\npostgres@debian12-pg:\/home\/postgres\/ &#x5B;pg170] sudo su - daniel\ndaniel@debian12-pg:\/home\/postgres$ \/u01\/app\/postgres\/product\/DEV\/db_0\/bin\/initdb -D \/var\/tmp\/yy\nThe files belonging to this database system will be owned by user &quot;daniel&quot;.\nThis user must also own the server process.\n\nThe database cluster will be initialized with locale &quot;en_US.UTF-8&quot;.\nThe default database encoding has accordingly been set to &quot;UTF8&quot;.\nThe default text search configuration will be set to &quot;english&quot;.\n\nData page checksums are disabled.\n\ncreating directory \/var\/tmp\/yy ... ok\ncreating subdirectories ... ok\nselecting dynamic shared memory implementation ... posix\nselecting default max_connections ... 100\nselecting default shared_buffers ... 128MB\nselecting default time zone ... Europe\/Zurich\ncreating configuration files ... ok\nrunning bootstrap script ... ok\nperforming post-bootstrap initialization ... ok\nsyncing data to disk ... ok\n\ninitdb: warning: enabling &quot;trust&quot; authentication for local connections\ninitdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb.\n\nSuccess. You can now start the database server using:\n\n    \/u01\/app\/postgres\/product\/DEV\/db_0\/bin\/pg_ctl -D \/var\/tmp\/yy -l logfile start\n<\/pre><\/div>\n\n\n<p>Once more, starting up this cluster and checking for the superuser&#8217;s username confirms this:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; highlight: [1,2,3,7]; title: ; notranslate\" title=\"\">\ndaniel@debian12-pg:\/home\/postgres$ export PGPORT=4444\ndaniel@debian12-pg:\/home\/postgres$ \/u01\/app\/postgres\/product\/DEV\/db_0\/bin\/pg_ctl -D \/var\/tmp\/yy start\ndaniel@debian12-pg:\/home\/postgres$ \/u01\/app\/postgres\/product\/DEV\/db_0\/bin\/psql -h \/tmp -c &quot;\\du&quot; postgres\n                             List of roles\n Role name |                         Attributes                         \n-----------+------------------------------------------------------------\n daniel    | Superuser, Create role, Create DB, Replication, Bypass RLS\n<\/pre><\/div>\n\n\n<p>Another option you have to specify the name for the initial superuser is, to tell <a href=\"https:\/\/www.postgresql.org\/docs\/current\/app-initdb.html\" target=\"_blank\" rel=\"noreferrer noopener\">initdb<\/a> how you want to name it:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; highlight: [1,3]; title: ; notranslate\" title=\"\">\npostgres@debian12-pg:\/home\/postgres\/ &#x5B;pg170] whoami\npostgres\npostgres@debian12-pg:\/home\/postgres\/ &#x5B;pg170] initdb --help | grep username\n  -U, --username=NAME       database superuser name\n<\/pre><\/div>\n\n\n<p>By using this flag you are free to choose the name for the initial superuser:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; highlight: [1,29,30,31]; title: ; notranslate\" title=\"\">\npostgres@debian12-pg:\/home\/postgres\/ &#x5B;pg170] initdb --pgdata \/var\/tmp\/zz --username=debian\nThe files belonging to this database system will be owned by user &quot;postgres&quot;.\nThis user must also own the server process.\n\nThe database cluster will be initialized with locale &quot;en_US.UTF-8&quot;.\nThe default database encoding has accordingly been set to &quot;UTF8&quot;.\nThe default text search configuration will be set to &quot;english&quot;.\n\nData page checksums are disabled.\n\ncreating directory \/var\/tmp\/zz \u2026 ok\ncreating subdirectories \u2026 ok\nselecting dynamic shared memory implementation \u2026 posix\nselecting default max_connections \u2026 100\nselecting default shared_buffers \u2026 128MB\nselecting default time zone \u2026 Europe\/Zurich\ncreating configuration files \u2026 ok\nrunning bootstrap script \u2026 ok\nperforming post-bootstrap initialization \u2026 ok\nsyncing data to disk \u2026 ok\n\ninitdb: warning: enabling &quot;trust&quot; authentication for local connections\ninitdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb.\n\nSuccess. You can now start the database server using:\n\npg_ctl -D \/var\/tmp\/zz -l logfile start\n\npostgres@debian12-pg:\/home\/postgres\/ &#x5B;pg170] export PGPORT=3333\npostgres@debian12-pg:\/home\/postgres\/ &#x5B;pg170] pg_ctl --pgdata \/var\/tmp\/zz\/ start\npostgres@debian12-pg:\/home\/postgres\/ &#x5B;pg170] psql -h \/tmp -c &quot;\\du&quot; -U debian postgres\n                                   List of roles\n Role name |                         Attributes                         | Member of \n-----------+------------------------------------------------------------+-----------\n debian    | Superuser, Create role, Create DB, Replication, Bypass RLS | {}\n<\/pre><\/div>\n\n\n<p>To summarize: By default you get the same user name as the operating system user you use for initializing the cluster. If you want to change it, then tell initdb how you would like the user to be called.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>When working with a PostgreSQL instance, most of the time the initial superuser is called &#8220;postgres&#8221;. One might think this is always the case, and this user is there by default. But the name for that user is chosen by some rules and in this post we&#8217;ll look at this. In almost all the installations [&hellip;]<\/p>\n","protected":false},"author":29,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[229,198],"tags":[77],"type_dbi":[],"class_list":["post-28577","post","type-post","status-publish","format-standard","hentry","category-database-administration-monitoring","category-database-management","tag-postgresql"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>How the name of the initial superuser is chosen in PostgreSQL - dbi Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/how-the-name-of-the-initial-superuser-is-chosen-in-postgresql\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How the name of the initial superuser is chosen in PostgreSQL\" \/>\n<meta property=\"og:description\" content=\"When working with a PostgreSQL instance, most of the time the initial superuser is called &#8220;postgres&#8221;. One might think this is always the case, and this user is there by default. But the name for that user is chosen by some rules and in this post we&#8217;ll look at this. In almost all the installations [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/how-the-name-of-the-initial-superuser-is-chosen-in-postgresql\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2023-10-12T09:14:13+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-10-12T09:14:15+00:00\" \/>\n<meta name=\"author\" content=\"Daniel Westermann\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@westermanndanie\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Daniel Westermann\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/how-the-name-of-the-initial-superuser-is-chosen-in-postgresql\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/how-the-name-of-the-initial-superuser-is-chosen-in-postgresql\/\"},\"author\":{\"name\":\"Daniel Westermann\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66\"},\"headline\":\"How the name of the initial superuser is chosen in PostgreSQL\",\"datePublished\":\"2023-10-12T09:14:13+00:00\",\"dateModified\":\"2023-10-12T09:14:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/how-the-name-of-the-initial-superuser-is-chosen-in-postgresql\/\"},\"wordCount\":230,\"commentCount\":0,\"keywords\":[\"PostgreSQL\"],\"articleSection\":[\"Database Administration &amp; Monitoring\",\"Database management\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/how-the-name-of-the-initial-superuser-is-chosen-in-postgresql\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/how-the-name-of-the-initial-superuser-is-chosen-in-postgresql\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/how-the-name-of-the-initial-superuser-is-chosen-in-postgresql\/\",\"name\":\"How the name of the initial superuser is chosen in PostgreSQL - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"datePublished\":\"2023-10-12T09:14:13+00:00\",\"dateModified\":\"2023-10-12T09:14:15+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/how-the-name-of-the-initial-superuser-is-chosen-in-postgresql\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/how-the-name-of-the-initial-superuser-is-chosen-in-postgresql\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/how-the-name-of-the-initial-superuser-is-chosen-in-postgresql\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How the name of the initial superuser is chosen in PostgreSQL\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66\",\"name\":\"Daniel Westermann\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g\",\"caption\":\"Daniel Westermann\"},\"description\":\"Daniel Westermann is Principal Consultant and Technology Leader Open Infrastructure at dbi services. He has more than 15 years of experience in management, engineering and optimization of databases and infrastructures, especially on Oracle and PostgreSQL. Since the beginning of his career, he has specialized in Oracle Technologies and is Oracle Certified Professional 12c and Oracle Certified Expert RAC\/GridInfra. Over time, Daniel has become increasingly interested in open source technologies, becoming \u201cTechnology Leader Open Infrastructure\u201d and PostgreSQL expert. \u00a0Based on community or EnterpriseDB tools, he develops and installs complex high available solutions with PostgreSQL. He is also a certified PostgreSQL Plus 9.0 Professional and a Postgres Advanced Server 9.4 Professional. He is a regular speaker at PostgreSQL conferences in Switzerland and Europe. Today Daniel is also supporting our customers on AWS services such as AWS RDS, database migrations into the cloud, EC2 and automated infrastructure management with AWS SSM (System Manager). He is a certified AWS Solutions Architect Professional. Prior to dbi services, Daniel was Management System Engineer at LC SYSTEMS-Engineering AG in Basel. Before that, he worked as Oracle Developper &amp;\u00a0Project Manager at Delta Energy Solutions AG in Basel (today Powel AG). Daniel holds a diploma in Business Informatics (DHBW, Germany). His branch-related experience mainly covers the pharma industry, the financial sector, energy, lottery and telecommunications.\",\"sameAs\":[\"https:\/\/x.com\/westermanndanie\"],\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/daniel-westermann\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How the name of the initial superuser is chosen in PostgreSQL - dbi Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/how-the-name-of-the-initial-superuser-is-chosen-in-postgresql\/","og_locale":"en_US","og_type":"article","og_title":"How the name of the initial superuser is chosen in PostgreSQL","og_description":"When working with a PostgreSQL instance, most of the time the initial superuser is called &#8220;postgres&#8221;. One might think this is always the case, and this user is there by default. But the name for that user is chosen by some rules and in this post we&#8217;ll look at this. In almost all the installations [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/how-the-name-of-the-initial-superuser-is-chosen-in-postgresql\/","og_site_name":"dbi Blog","article_published_time":"2023-10-12T09:14:13+00:00","article_modified_time":"2023-10-12T09:14:15+00:00","author":"Daniel Westermann","twitter_card":"summary_large_image","twitter_creator":"@westermanndanie","twitter_misc":{"Written by":"Daniel Westermann","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/how-the-name-of-the-initial-superuser-is-chosen-in-postgresql\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/how-the-name-of-the-initial-superuser-is-chosen-in-postgresql\/"},"author":{"name":"Daniel Westermann","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66"},"headline":"How the name of the initial superuser is chosen in PostgreSQL","datePublished":"2023-10-12T09:14:13+00:00","dateModified":"2023-10-12T09:14:15+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/how-the-name-of-the-initial-superuser-is-chosen-in-postgresql\/"},"wordCount":230,"commentCount":0,"keywords":["PostgreSQL"],"articleSection":["Database Administration &amp; Monitoring","Database management"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/how-the-name-of-the-initial-superuser-is-chosen-in-postgresql\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/how-the-name-of-the-initial-superuser-is-chosen-in-postgresql\/","url":"https:\/\/www.dbi-services.com\/blog\/how-the-name-of-the-initial-superuser-is-chosen-in-postgresql\/","name":"How the name of the initial superuser is chosen in PostgreSQL - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2023-10-12T09:14:13+00:00","dateModified":"2023-10-12T09:14:15+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/how-the-name-of-the-initial-superuser-is-chosen-in-postgresql\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/how-the-name-of-the-initial-superuser-is-chosen-in-postgresql\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/how-the-name-of-the-initial-superuser-is-chosen-in-postgresql\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How the name of the initial superuser is chosen in PostgreSQL"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66","name":"Daniel Westermann","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/31350ceeecb1dd8986339a29bf040d4cd3cd087d410deccd8f55234466d6c317?s=96&d=mm&r=g","caption":"Daniel Westermann"},"description":"Daniel Westermann is Principal Consultant and Technology Leader Open Infrastructure at dbi services. He has more than 15 years of experience in management, engineering and optimization of databases and infrastructures, especially on Oracle and PostgreSQL. Since the beginning of his career, he has specialized in Oracle Technologies and is Oracle Certified Professional 12c and Oracle Certified Expert RAC\/GridInfra. Over time, Daniel has become increasingly interested in open source technologies, becoming \u201cTechnology Leader Open Infrastructure\u201d and PostgreSQL expert. \u00a0Based on community or EnterpriseDB tools, he develops and installs complex high available solutions with PostgreSQL. He is also a certified PostgreSQL Plus 9.0 Professional and a Postgres Advanced Server 9.4 Professional. He is a regular speaker at PostgreSQL conferences in Switzerland and Europe. Today Daniel is also supporting our customers on AWS services such as AWS RDS, database migrations into the cloud, EC2 and automated infrastructure management with AWS SSM (System Manager). He is a certified AWS Solutions Architect Professional. Prior to dbi services, Daniel was Management System Engineer at LC SYSTEMS-Engineering AG in Basel. Before that, he worked as Oracle Developper &amp;\u00a0Project Manager at Delta Energy Solutions AG in Basel (today Powel AG). Daniel holds a diploma in Business Informatics (DHBW, Germany). His branch-related experience mainly covers the pharma industry, the financial sector, energy, lottery and telecommunications.","sameAs":["https:\/\/x.com\/westermanndanie"],"url":"https:\/\/www.dbi-services.com\/blog\/author\/daniel-westermann\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/28577","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/29"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=28577"}],"version-history":[{"count":11,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/28577\/revisions"}],"predecessor-version":[{"id":28588,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/28577\/revisions\/28588"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=28577"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=28577"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=28577"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=28577"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}