{"id":6586,"date":"2015-12-20T13:24:54","date_gmt":"2015-12-20T12:24:54","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/setting-your-cluster-name-in-postgresql-9-5\/"},"modified":"2015-12-20T13:24:54","modified_gmt":"2015-12-20T12:24:54","slug":"setting-your-cluster-name-in-postgresql-9-5","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/setting-your-cluster-name-in-postgresql-9-5\/","title":{"rendered":"Setting your cluster name in PostgreSQL 9.5"},"content":{"rendered":"<p>PostgreSQL 9.5 introduces a new parameter which is called: <a href=\"http:\/\/www.postgresql.org\/docs\/devel\/static\/runtime-config-logging.html#GUC-CLUSTER-NAME\" target=\"_blank\" rel=\"noopener\">cluster_name<\/a>. So, what is this good for?<\/p>\n<p>Imagine you have two (or even more) PostgreSQL clusters running on the same host. When looking at the operating system processes this might look like this:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\npostgres@oel7:\/home\/postgres\/ [PG6] ps -ef | grep \"postgres:\"\npostgres  2325  2324  0 14:01 ?        00:00:00 postgres: logger process   \npostgres  2327  2324  0 14:01 ?        00:00:00 postgres: checkpointer process   \npostgres  2328  2324  0 14:01 ?        00:00:00 postgres: writer process   \npostgres  2329  2324  0 14:01 ?        00:00:00 postgres: wal writer process   \npostgres  2330  2324  0 14:01 ?        00:00:00 postgres: autovacuum launcher process   \npostgres  2331  2324  0 14:01 ?        00:00:00 postgres: archiver process   last was 0000000100000002000000B2\npostgres  2332  2324  0 14:01 ?        00:00:00 postgres: stats collector process   \npostgres  2709  2708  0 14:01 ?        00:00:00 postgres: logger process   \npostgres  2711  2708  0 14:01 ?        00:00:00 postgres: checkpointer process   \npostgres  2712  2708  0 14:01 ?        00:00:00 postgres: writer process   \npostgres  2713  2708  0 14:01 ?        00:00:00 postgres: wal writer process   \npostgres  2714  2708  0 14:01 ?        00:00:00 postgres: autovacuum launcher process   \npostgres  2715  2708  0 14:01 ?        00:00:00 postgres: stats collector process   \npostgres  3191  2771  0 14:09 pts\/0    00:00:00 grep --color=auto postgres:\n<\/pre>\n<p>It is not possible to see immediately to which instance which process belongs to. Sure, you can look at the postmaster:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\npostgres@oel7:\/home\/postgres\/ [PG6] ps -ef | grep \"postgres -D\"\npostgres  2324     1  0 14:01 ?        00:00:00 \/u01\/app\/postgres\/product\/95\/db_2\/bin\/postgres -D \/u02\/pgdata\/PG6\npostgres  2708     1  0 14:01 ?        00:00:00 \/u01\/app\/postgres\/product\/95\/db_b2\/bin\/postgres -D \/u02\/pgdata\/PG7\n<\/pre>\n<p>&#8230; and from there make your way to the child processes. But this is not very convenient. This is where <a href=\"http:\/\/www.postgresql.org\/docs\/devel\/static\/runtime-config-logging.html#GUC-CLUSTER-NAME\" target=\"_blank\" rel=\"noopener\">cluster_name<\/a> comes in. Now, with PostgreSQL 9.5 (<a href=\"http:\/\/www.postgresql.org\/about\/news\/1631\/\" target=\"_blank\" rel=\"noopener\">the community just released RC1<\/a>), you can set this parameter to value of your choice:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">\n(postgres@[local]:4448) [postgres] &gt; alter system set cluster_name='my_cluster';\nALTER SYSTEM\nTime: 29.964 ms\n(postgres@[local]:4448) [postgres] &gt; select pending_restart \n                                       from pg_settings \n                                      where name = 'cluster_name';\n pending_restart \n-----------------\n t\n(1 row)\n<\/pre>\n<p>As you can see from the last select above: for this parameter to have any effect we need to restart the cluster:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\npostgres@oel7:\/home\/postgres\/ [PG6] pg_ctl -D \/u02\/pgdata\/PG6\/ restart\nwaiting for server to shut down.... done\nserver stopped\nserver starting\npostgres@oel7:\/home\/postgres\/ [PG6] \n<\/pre>\n<p>From now on all the processes belonging to this instance can be easily identified:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">\npostgres@oel7:\/home\/postgres\/ [PG6] ps -ef | grep my_cluster\npostgres  3336  3335  0 14:18 ?        00:00:00 postgres: my_cluster: logger process   \npostgres  3338  3335  0 14:18 ?        00:00:00 postgres: my_cluster: checkpointer process   \npostgres  3339  3335  0 14:18 ?        00:00:00 postgres: my_cluster: writer process   \npostgres  3340  3335  0 14:18 ?        00:00:00 postgres: my_cluster: wal writer process   \npostgres  3341  3335  0 14:18 ?        00:00:00 postgres: my_cluster: autovacuum launcher process   \npostgres  3342  3335  0 14:18 ?        00:00:00 postgres: my_cluster: archiver process   \npostgres  3343  3335  0 14:18 ?        00:00:00 postgres: my_cluster: stats collector process   \npostgres  3360  2771  0 14:19 pts\/0    00:00:00 grep --color=auto my_cluster\n<\/pre>\n<p>A little, but very nice addition which made it into PostgreSQL 9.5.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>PostgreSQL 9.5 introduces a new parameter which is called: cluster_name. So, what is this good for? Imagine you have two (or even more) PostgreSQL clusters running on the same host. When looking at the operating system processes this might look like this: postgres@oel7:\/home\/postgres\/ [PG6] ps -ef | grep &#8220;postgres:&#8221; postgres 2325 2324 0 14:01 ? [&hellip;]<\/p>\n","protected":false},"author":29,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[229],"tags":[77],"type_dbi":[],"class_list":["post-6586","post","type-post","status-publish","format-standard","hentry","category-database-administration-monitoring","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>Setting your cluster name in PostgreSQL 9.5 - 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\/setting-your-cluster-name-in-postgresql-9-5\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Setting your cluster name in PostgreSQL 9.5\" \/>\n<meta property=\"og:description\" content=\"PostgreSQL 9.5 introduces a new parameter which is called: cluster_name. So, what is this good for? Imagine you have two (or even more) PostgreSQL clusters running on the same host. When looking at the operating system processes this might look like this: postgres@oel7:\/home\/postgres\/ [PG6] ps -ef | grep &quot;postgres:&quot; postgres 2325 2324 0 14:01 ? [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/setting-your-cluster-name-in-postgresql-9-5\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2015-12-20T12:24:54+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=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/setting-your-cluster-name-in-postgresql-9-5\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/setting-your-cluster-name-in-postgresql-9-5\/\"},\"author\":{\"name\":\"Daniel Westermann\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66\"},\"headline\":\"Setting your cluster name in PostgreSQL 9.5\",\"datePublished\":\"2015-12-20T12:24:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/setting-your-cluster-name-in-postgresql-9-5\/\"},\"wordCount\":157,\"commentCount\":0,\"keywords\":[\"PostgreSQL\"],\"articleSection\":[\"Database Administration &amp; Monitoring\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/setting-your-cluster-name-in-postgresql-9-5\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/setting-your-cluster-name-in-postgresql-9-5\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/setting-your-cluster-name-in-postgresql-9-5\/\",\"name\":\"Setting your cluster name in PostgreSQL 9.5 - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"datePublished\":\"2015-12-20T12:24:54+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/setting-your-cluster-name-in-postgresql-9-5\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/setting-your-cluster-name-in-postgresql-9-5\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/setting-your-cluster-name-in-postgresql-9-5\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Setting your cluster name in PostgreSQL 9.5\"}]},{\"@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":"Setting your cluster name in PostgreSQL 9.5 - 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\/setting-your-cluster-name-in-postgresql-9-5\/","og_locale":"en_US","og_type":"article","og_title":"Setting your cluster name in PostgreSQL 9.5","og_description":"PostgreSQL 9.5 introduces a new parameter which is called: cluster_name. So, what is this good for? Imagine you have two (or even more) PostgreSQL clusters running on the same host. When looking at the operating system processes this might look like this: postgres@oel7:\/home\/postgres\/ [PG6] ps -ef | grep \"postgres:\" postgres 2325 2324 0 14:01 ? [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/setting-your-cluster-name-in-postgresql-9-5\/","og_site_name":"dbi Blog","article_published_time":"2015-12-20T12:24:54+00:00","author":"Daniel Westermann","twitter_card":"summary_large_image","twitter_creator":"@westermanndanie","twitter_misc":{"Written by":"Daniel Westermann","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/setting-your-cluster-name-in-postgresql-9-5\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/setting-your-cluster-name-in-postgresql-9-5\/"},"author":{"name":"Daniel Westermann","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66"},"headline":"Setting your cluster name in PostgreSQL 9.5","datePublished":"2015-12-20T12:24:54+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/setting-your-cluster-name-in-postgresql-9-5\/"},"wordCount":157,"commentCount":0,"keywords":["PostgreSQL"],"articleSection":["Database Administration &amp; Monitoring"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/setting-your-cluster-name-in-postgresql-9-5\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/setting-your-cluster-name-in-postgresql-9-5\/","url":"https:\/\/www.dbi-services.com\/blog\/setting-your-cluster-name-in-postgresql-9-5\/","name":"Setting your cluster name in PostgreSQL 9.5 - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2015-12-20T12:24:54+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/setting-your-cluster-name-in-postgresql-9-5\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/setting-your-cluster-name-in-postgresql-9-5\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/setting-your-cluster-name-in-postgresql-9-5\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Setting your cluster name in PostgreSQL 9.5"}]},{"@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\/6586","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=6586"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/6586\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=6586"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=6586"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=6586"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=6586"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}