{"id":13878,"date":"2020-04-03T18:02:27","date_gmt":"2020-04-03T16:02:27","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/aws-rds-for-postgresql-1-db-parameter-groups\/"},"modified":"2020-04-03T18:02:27","modified_gmt":"2020-04-03T16:02:27","slug":"aws-rds-for-postgresql-1-db-parameter-groups","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/aws-rds-for-postgresql-1-db-parameter-groups\/","title":{"rendered":"AWS RDS for PostgreSQL &#8211; 1 &#8211; DB Parameter Groups"},"content":{"rendered":"<p>When your go for <a href=\"https:\/\/aws.amazon.com\/rds\/\" target=\"_blank\" rel=\"noopener noreferrer\">AWS RDS<\/a> you can very quickly bring up a database instance and start using it. I&#8217;ve written about my thoughts using this approach <a href=\"https:\/\/www.dbi-services.com\/blog\/some-thoughts-about-working-with-on-aws\/\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a> and really encourage you to learn about a specific service in more detail before you start using it. If you want to have a managed service for PostgreSQL in AWS, you can go for <a href=\"https:\/\/aws.amazon.com\/rds\/postgresql\/\" target=\"_blank\" rel=\"noopener noreferrer\">AWS RDS for PostgreSQL<\/a> and this service will be the topic for this and the next posts. In this very first post we&#8217;ll have a look at <a href=\"https:\/\/docs.aws.amazon.com\/AmazonRDS\/latest\/UserGuide\/USER_WorkingWithParamGroups.html\" target=\"_blank\" rel=\"noopener noreferrer\">DB Parameter Groups<\/a> as this is how you manage your configuration of database\/instances parameters in AWS RDS. There is also the concept of <a href=\"https:\/\/docs.aws.amazon.com\/AmazonRDS\/latest\/UserGuide\/USER_WorkingWithOptionGroups.html\" target=\"_blank\" rel=\"noopener noreferrer\">Option Groups<\/a> but they are not relevant for PostgreSQL as there are no separate options to use with PostgreSQL.<\/p>\n<p><!--more--><\/p>\n<p>A DB Parameter Group is basically a container for all the PostgreSQL parameters you want to have applied to your PostgreSQL RDS instance and when you spin up a new instance you get a default parameter group predefined by AWS if you did not create any on your own before. That might work well for you but it is always a good idea to review predefined settings and adjust that to your requirements so we&#8217;re going to create a new one:<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/aws_rds_pg_1.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/aws_rds_pg_1.jpg\" alt=\"\" width=\"1000\" height=\"219\" class=\"aligncenter size-full wp-image-38699\" \/><\/a> <\/p>\n<p>A new DB Parameter Group is always based on a &#8220;Parameter group family&#8221; and that will be postgres12 in our case as we want to deploy PostgreSQL 12 later on:<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/aws_rds_pg_2.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/aws_rds_pg_2.jpg\" alt=\"\" width=\"800\" height=\"527\" class=\"aligncenter size-full wp-image-38702\" \/><\/a><\/p>\n<p>Once the new DB Parameter Group is created we can go ahead and edit the settings:<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/aws_rds_pg_3.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/aws_rds_pg_3.jpg\" alt=\"\" width=\"1000\" height=\"174\" class=\"aligncenter size-full wp-image-38703\" \/><\/a><\/p>\n<p>You&#8217;ll see a list of all the parameters. Some of them can be adjusted by you, others are read only:<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/aws_rds_pg_4.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/aws_rds_pg_4.jpg\" alt=\"\" width=\"1000\" height=\"345\" class=\"aligncenter size-full wp-image-38704\" \/><\/a><\/p>\n<p>As RDS is a managed service it absolutely makes sense, that e.g. the <a href=\"https:\/\/www.postgresql.org\/docs\/12\/runtime-config-wal.html#GUC-ARCHIVE-COMMAND\" target=\"_blank\" rel=\"noopener noreferrer\">archive_command<\/a> is not changeable by the user of the service. Backup and restore implementation details are hidden in the background and this is all managed by AWS, nothing you can do here from a parameter perspective. You can only see that RDS for PostgreSQL uses a Unix like operating system in the background because of the location of the script that does the archiving.<\/p>\n<p>There are also parameters that are not known to community PostgreSQL and these are modifications that AWS added, like this one:<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/aws_rds_pg_5.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/aws_rds_pg_5.jpg\" alt=\"\" width=\"1000\" height=\"255\" class=\"aligncenter size-full wp-image-38705\" \/><\/a><\/p>\n<p>As you do not get access to the operating system that will be running your PostgreSQL instance you can of course not install any extensions. If you need an extension that is not in this list you are stuck and would need to go for a self hosted instance (maybe on EC2).<\/p>\n<p>Encrypting traffic to and from the RDS instance is prepared in the background as well as you can see it by looking at the read only SSL parameters:<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/aws_rds_pg_6.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/aws_rds_pg_6.jpg\" alt=\"\" width=\"1000\" height=\"186\" class=\"aligncenter size-full wp-image-38706\" \/><\/a><\/p>\n<p>There are not too much parameters which are read only and you can adjust most of them. What you should think about are which extensions you are going to use and how you want to configure them, e.g. for <a href=\"https:\/\/www.postgresql.org\/docs\/12\/auto-explain.html\" target=\"_blank\" rel=\"noopener noreferrer\">auto_explain<\/a>:<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/aws_rds_pg_7.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/aws_rds_pg_7.jpg\" alt=\"\" width=\"1000\" height=\"509\" class=\"aligncenter size-full wp-image-38707\" \/><\/a><\/p>\n<p>You will also notice the AWS makes autovacuum more aggressive than that is the case in the default configuration of PostgreSQL:<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/aws_rds_pg_9.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/aws_rds_pg_9.jpg\" alt=\"\" width=\"1000\" height=\"83\" class=\"aligncenter size-full wp-image-38708\" \/><\/a><br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/aws_rds_pg_8.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/aws_rds_pg_8.jpg\" alt=\"\" width=\"1000\" height=\"62\" class=\"aligncenter size-full wp-image-38709\" \/><\/a><\/p>\n<p>( <a href=\"https:\/\/www.postgresql.org\/docs\/12\/runtime-config-autovacuum.html#GUC-AUTOVACUUM-VACUUM-SCALE-FACTOR\" target=\"_blank\" rel=\"noopener noreferrer\">autovacuum_vacuum_scale_factor<\/a> is 0.2 and <a href=\"https:\/\/www.postgresql.org\/docs\/12\/runtime-config-autovacuum.html#GUC-AUTOVACUUM-NAPTIME\" target=\"_blank\" rel=\"noopener noreferrer\">autovacuum_naptime<\/a> is one minute in the default configuration )<\/p>\n<p>For some of the parameters there is a formula:<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/aws_rds_pg_10.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/aws_rds_pg_10.jpg\" alt=\"\" width=\"1000\" height=\"80\" class=\"aligncenter size-full wp-image-38711\" \/><\/a><\/p>\n<p>The formulas and expression you can use are <a href=\"https:\/\/docs.aws.amazon.com\/AmazonRDS\/latest\/UserGuide\/USER_WorkingWithParamGroups.html#USER_ParamValuesRef\" target=\"_blank\" rel=\"noopener noreferrer\">documented<\/a> and you usually need to know the <a href=\"https:\/\/aws.amazon.com\/rds\/instance-types\/\" target=\"_blank\" rel=\"noopener noreferrer\">instance type<\/a> to know the final value of the parameter. <\/p>\n<p><a href=\"https:\/\/www.postgresql.org\/docs\/12\/jit.html\" target=\"_blank\" rel=\"noopener noreferrer\">Just in time compilation (JIT)<\/a> is disabled by default, do you want that?:<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/aws_rds_pg_11.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/aws_rds_pg_11.jpg\" alt=\"\" width=\"1000\" height=\"101\" class=\"aligncenter size-full wp-image-38713\" \/><\/a><\/p>\n<p>Are you happy with the RDS defaults when it comes to logging?<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/aws_rds_pg_12.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/aws_rds_pg_12.jpg\" alt=\"\" width=\"1000\" height=\"526\" class=\"aligncenter size-full wp-image-38715\" \/><\/a><\/p>\n<p><a href=\"https:\/\/www.postgresql.org\/docs\/12\/runtime-config-resource.html#GUC-MAX-PARALLEL-WORKERS\" target=\"_blank\" rel=\"noopener noreferrer\">max_parallel_workers<\/a> is, e.g., something you might want to calculate based on the instance type as well instead of going with the default of 8:<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/aws_rds_pg_13.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/aws_rds_pg_13.jpg\" alt=\"\" width=\"1000\" height=\"47\" class=\"aligncenter size-full wp-image-38716\" \/><\/a><\/p>\n<p>The same is true for <a href=\"https:\/\/www.postgresql.org\/docs\/12\/runtime-config-resource.html#GUC-MAX-WORKER-PROCESSES\" target=\"_blank\" rel=\"noopener noreferrer\">max_work_prosesses<\/a>:<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/aws_rds_pg_14.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/aws_rds_pg_14.jpg\" alt=\"\" width=\"1000\" height=\"46\" class=\"aligncenter size-full wp-image-38717\" \/><\/a><\/p>\n<p>We&#8217;ll not go through all the parameters, the key point here is: Do not trust the defaults but rather create your own DB Parameter Groups, maybe based on your application needs, maybe based on the instance types you chose, maybe based on experience from your on-prem instances. You probably already invested some time in configuring PostgreSQL for your needs and you should do the same here. Apply what you know works best for you and then go with that.<\/p>\n<p>That&#8217;s it for now, in the next post we&#8217;ll look at <a href=\"https:\/\/docs.aws.amazon.com\/AmazonRDS\/latest\/UserGuide\/USER_VPC.WorkingWithRDSInstanceinaVPC.html\" target=\"_blank\" rel=\"noopener noreferrer\">subnet groups<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>When your go for AWS RDS you can very quickly bring up a database instance and start using it. I&#8217;ve written about my thoughts using this approach here and really encourage you to learn about a specific service in more detail before you start using it. If you want to have a managed service for [&hellip;]<\/p>\n","protected":false},"author":29,"featured_media":13879,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1865,229],"tags":[133,77,1869],"type_dbi":[],"class_list":["post-13878","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-aws","category-database-administration-monitoring","tag-aws","tag-postgresql","tag-rds"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>AWS RDS for PostgreSQL - 1 - DB Parameter Groups - 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\/aws-rds-for-postgresql-1-db-parameter-groups\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AWS RDS for PostgreSQL - 1 - DB Parameter Groups\" \/>\n<meta property=\"og:description\" content=\"When your go for AWS RDS you can very quickly bring up a database instance and start using it. I&#8217;ve written about my thoughts using this approach here and really encourage you to learn about a specific service in more detail before you start using it. If you want to have a managed service for [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/aws-rds-for-postgresql-1-db-parameter-groups\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2020-04-03T16:02:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/aws_rds_pg_1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1000\" \/>\n\t<meta property=\"og:image:height\" content=\"219\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\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=\"4 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\\\/aws-rds-for-postgresql-1-db-parameter-groups\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/aws-rds-for-postgresql-1-db-parameter-groups\\\/\"},\"author\":{\"name\":\"Daniel Westermann\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/8d08e9bd996a89bd75c0286cbabf3c66\"},\"headline\":\"AWS RDS for PostgreSQL &#8211; 1 &#8211; DB Parameter Groups\",\"datePublished\":\"2020-04-03T16:02:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/aws-rds-for-postgresql-1-db-parameter-groups\\\/\"},\"wordCount\":738,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/aws-rds-for-postgresql-1-db-parameter-groups\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2022\\\/04\\\/aws_rds_pg_1.jpg\",\"keywords\":[\"AWS\",\"PostgreSQL\",\"RDS\"],\"articleSection\":[\"AWS\",\"Database Administration &amp; Monitoring\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/aws-rds-for-postgresql-1-db-parameter-groups\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/aws-rds-for-postgresql-1-db-parameter-groups\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/aws-rds-for-postgresql-1-db-parameter-groups\\\/\",\"name\":\"AWS RDS for PostgreSQL - 1 - DB Parameter Groups - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/aws-rds-for-postgresql-1-db-parameter-groups\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/aws-rds-for-postgresql-1-db-parameter-groups\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2022\\\/04\\\/aws_rds_pg_1.jpg\",\"datePublished\":\"2020-04-03T16:02:27+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/8d08e9bd996a89bd75c0286cbabf3c66\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/aws-rds-for-postgresql-1-db-parameter-groups\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/aws-rds-for-postgresql-1-db-parameter-groups\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/aws-rds-for-postgresql-1-db-parameter-groups\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2022\\\/04\\\/aws_rds_pg_1.jpg\",\"contentUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2022\\\/04\\\/aws_rds_pg_1.jpg\",\"width\":1000,\"height\":219},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/aws-rds-for-postgresql-1-db-parameter-groups\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AWS RDS for PostgreSQL &#8211; 1 &#8211; DB Parameter Groups\"}]},{\"@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":"AWS RDS for PostgreSQL - 1 - DB Parameter Groups - 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\/aws-rds-for-postgresql-1-db-parameter-groups\/","og_locale":"en_US","og_type":"article","og_title":"AWS RDS for PostgreSQL - 1 - DB Parameter Groups","og_description":"When your go for AWS RDS you can very quickly bring up a database instance and start using it. I&#8217;ve written about my thoughts using this approach here and really encourage you to learn about a specific service in more detail before you start using it. If you want to have a managed service for [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/aws-rds-for-postgresql-1-db-parameter-groups\/","og_site_name":"dbi Blog","article_published_time":"2020-04-03T16:02:27+00:00","og_image":[{"width":1000,"height":219,"url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/aws_rds_pg_1.jpg","type":"image\/jpeg"}],"author":"Daniel Westermann","twitter_card":"summary_large_image","twitter_creator":"@westermanndanie","twitter_misc":{"Written by":"Daniel Westermann","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/aws-rds-for-postgresql-1-db-parameter-groups\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/aws-rds-for-postgresql-1-db-parameter-groups\/"},"author":{"name":"Daniel Westermann","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66"},"headline":"AWS RDS for PostgreSQL &#8211; 1 &#8211; DB Parameter Groups","datePublished":"2020-04-03T16:02:27+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/aws-rds-for-postgresql-1-db-parameter-groups\/"},"wordCount":738,"commentCount":0,"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/aws-rds-for-postgresql-1-db-parameter-groups\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/aws_rds_pg_1.jpg","keywords":["AWS","PostgreSQL","RDS"],"articleSection":["AWS","Database Administration &amp; Monitoring"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/aws-rds-for-postgresql-1-db-parameter-groups\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/aws-rds-for-postgresql-1-db-parameter-groups\/","url":"https:\/\/www.dbi-services.com\/blog\/aws-rds-for-postgresql-1-db-parameter-groups\/","name":"AWS RDS for PostgreSQL - 1 - DB Parameter Groups - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/aws-rds-for-postgresql-1-db-parameter-groups\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/aws-rds-for-postgresql-1-db-parameter-groups\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/aws_rds_pg_1.jpg","datePublished":"2020-04-03T16:02:27+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d08e9bd996a89bd75c0286cbabf3c66"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/aws-rds-for-postgresql-1-db-parameter-groups\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/aws-rds-for-postgresql-1-db-parameter-groups\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/aws-rds-for-postgresql-1-db-parameter-groups\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/aws_rds_pg_1.jpg","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/aws_rds_pg_1.jpg","width":1000,"height":219},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/aws-rds-for-postgresql-1-db-parameter-groups\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"AWS RDS for PostgreSQL &#8211; 1 &#8211; DB Parameter Groups"}]},{"@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\/13878","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=13878"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/13878\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media\/13879"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=13878"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=13878"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=13878"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=13878"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}