{"id":12151,"date":"2018-12-07T22:30:30","date_gmt":"2018-12-07T21:30:30","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/postgresql-12-new-option-socketdir-for-pg_upgrade\/"},"modified":"2023-06-09T17:12:07","modified_gmt":"2023-06-09T15:12:07","slug":"postgresql-12-new-option-socketdir-for-pg_upgrade","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/postgresql-12-new-option-socketdir-for-pg_upgrade\/","title":{"rendered":"PostgreSQL 12 : New option &#8211;socketdir for pg_upgrade"},"content":{"rendered":"<p><strong>By Mouhamadou Diaw<\/strong><\/p>\n<p>PostgreSQL 12 is under development but tests can be done. Steps to install this version can be found <a href=\"https:\/\/www.dbi-services.com\/blog\/testing-new-postgresql-features-before-alphabetarc-releases\/\" target=\"_blank\" rel=\"noopener noreferrer\">in this dbi blog <\/a>. Many thanks to Daniel.<br \/>\nWhile reading the documentation I found that there is a new parameter for pg_upgrade. This new parameter is <em>&#8211;socketdir<\/em>.<br \/>\nWhy this parameter?<br \/>\nIn fact the path name of a UNIX socket is allowed to be maximally 108 chars long. Before PostgreSQL 12, the default directory for the sockets created for the temporary postmasters started by pg_upgrade was the current directory. But depending of the current directory the pathname might be very long for a socket name. In PostgreSQL 12 The default location is still the current working directory, but the parameter socketdir now allows us to specify another location<\/p>\n<p>To better understand I am going to upgrade from PostgreSQL 10 to PostgreSQL 12<\/p>\n<div>\n<div id=\"highlighter_183720\" class=\"syntaxhighlighter  bash\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"bash plain\">20:59:44 postgres@dbi-pg-essentials:<\/code><code class=\"bash plain\">\/u02\/pgdata\/PG12TEST\/<\/code> <code class=\"bash plain\">[PG12TEST] psql -U postgres -d postgres<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"bash plain\">psql (12devel dbi services build)<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"bash plain\">Type <\/code><code class=\"bash string\">\"help\"<\/code> <code class=\"bash keyword\">for<\/code> <code class=\"bash plain\">help.<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"bash plain\">postgres=<\/code><code class=\"bash comments\"># select version();<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">version<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"bash plain\">---------------------------------------------------------------------------------------------------------------------<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"bash spaces\">\u00a0<\/code><code class=\"bash plain\">PostgreSQL 12devel dbi services build on x86_64-pc-linux-gnu, compiled by <\/code><code class=\"bash functions\">gcc<\/code> <code class=\"bash plain\">(GCC) 4.8.5 20150623 (Red Hat 4.8.5-11<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"bash plain\">(1 row)<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"bash plain\">postgres=<\/code><code class=\"bash comments\">#<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>Now let&#8217;s create a very deeply nested directory<\/p>\n<div>\n<div id=\"highlighter_683113\" class=\"syntaxhighlighter  bash\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"bash functions\">mkdir<\/code> <code class=\"bash plain\">-p ttttttttttttttttttttttttttttttttttttttttt<\/code><code class=\"bash plain\">\/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\/ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd\/UUUUUUUUUUUUUUUUUUUUUUUUUUUUUuuuuuuuuuuuuuuuuuuuuuuuuuuuu\/ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>And let\u2019s do a cd into this new directory and let\u2019s try to do an upgrade<\/p>\n<div>\n<div id=\"highlighter_341679\" class=\"syntaxhighlighter  bash\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"bash plain\">$ <\/code><code class=\"bash functions\">export<\/code> <code class=\"bash plain\">PGDATAOLD=<\/code><code class=\"bash plain\">\/u02\/pgdata\/PG3<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"bash plain\">$ <\/code><code class=\"bash functions\">export<\/code> <code class=\"bash plain\">PGBINOLD=<\/code><code class=\"bash plain\">\/u01\/app\/postgres\/product\/10\/db_1\/bin<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"bash plain\">$ <\/code><code class=\"bash functions\">export<\/code> <code class=\"bash plain\">PGDATANEW=<\/code><code class=\"bash plain\">\/u02\/pgdata\/PG12TEST<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"bash plain\">$ <\/code><code class=\"bash functions\">export<\/code> <code class=\"bash plain\">PGBINNEW=<\/code><code class=\"bash plain\">\/u01\/app\/postgres\/product\/12dev\/db_0\/bin<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>When running the pg_upgrade with the check option, we got following errors<\/p>\n<div>\n<div id=\"highlighter_438323\" class=\"syntaxhighlighter  bash\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"bash plain\">$ pg_upgrade -c<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"bash plain\">Performing Consistency Checks<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"bash plain\">-----------------------------<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"bash plain\">Checking cluster versions\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ok<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"bash plain\">*failure*<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"bash plain\">Consult the last few lines of <\/code><code class=\"bash string\">\"pg_upgrade_server.log\"<\/code> <code class=\"bash keyword\">for<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"bash plain\">the probable cause of the failure.<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"bash plain\">connection to database failed: Unix-domain socket path <\/code><code class=\"bash string\">\"\/home\/postgres\/ttttttttttttttttttttttttttttttttttttttttt\/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\/ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd\/UUUUUUUUUUUUUUUUUUUUUUUUUUUUUuuuuuuuuuuuuuuuuuuuuuuuuuuuu\/ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd\/.s.PGSQL.50432\"<\/code> <code class=\"bash plain\">is too long (maximum 107 bytes)<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"bash plain\">could not connect to <\/code><code class=\"bash functions\">source<\/code> <code class=\"bash plain\">postmaster started with the <\/code><code class=\"bash functions\">command<\/code><code class=\"bash plain\">:<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"bash string\">\"\/u01\/app\/postgres\/product\/10\/db_1\/bin\/pg_ctl\"<\/code> <code class=\"bash plain\">-w -l <\/code><code class=\"bash string\">\"pg_upgrade_server.log\"<\/code> <code class=\"bash plain\">-D <\/code><code class=\"bash string\">\"\/u02\/pgdata\/PG3\"<\/code> <code class=\"bash plain\">-o <\/code><code class=\"bash string\">\"-p 50432 -b\u00a0 -c listen_addresses='' -c unix_socket_permissions=0700 -c unix_socket_directories='\/home\/postgres\/ttttttttttttttttttttttttttttttttttttttttt\/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\/ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd\/UUUUUUUUUUUUUUUUUUUUUUUUUUUUUuuuuuuuuuuuuuuuuuuuuuuuuuuuu\/ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd'\"<\/code> <code class=\"bash plain\">start<\/code><\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"bash plain\">Failure, exiting<\/code><\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"bash plain\">$<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>Seems that the pathname for the socket is very long.<br \/>\nAnd if we use this new parameter, we can specify a new location for the sockets. And we can see that the checks are now successful<\/p>\n<div>\n<div id=\"highlighter_137285\" class=\"syntaxhighlighter  bash\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"bash plain\">$ pg_upgrade -c --socketdir=<\/code><code class=\"bash plain\">\/home\/postgres\/<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"bash plain\">Performing Consistency Checks<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"bash plain\">-----------------------------<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"bash plain\">Checking cluster versions\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ok<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"bash plain\">Checking database user is the <\/code><code class=\"bash functions\">install<\/code> <code class=\"bash plain\">user\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ok<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"bash plain\">Checking database connection settings\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ok<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"bash plain\">Checking <\/code><code class=\"bash keyword\">for<\/code> <code class=\"bash plain\">prepared transactions\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ok<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"bash plain\">Checking <\/code><code class=\"bash keyword\">for<\/code> <code class=\"bash plain\">reg* data types <\/code><code class=\"bash keyword\">in<\/code> <code class=\"bash plain\">user tables\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ok<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"bash plain\">Checking <\/code><code class=\"bash keyword\">for<\/code> <code class=\"bash plain\">contrib<\/code><code class=\"bash plain\">\/isn<\/code> <code class=\"bash plain\">with bigint-passing mismatch\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ok<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"bash plain\">Checking <\/code><code class=\"bash keyword\">for<\/code> <code class=\"bash plain\">tables WITH OIDs\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ok<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"bash plain\">Checking <\/code><code class=\"bash keyword\">for<\/code> <code class=\"bash plain\">presence of required libraries\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ok<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"bash plain\">Checking database user is the <\/code><code class=\"bash functions\">install<\/code> <code class=\"bash plain\">user\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ok<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"bash plain\">Checking <\/code><code class=\"bash keyword\">for<\/code> <code class=\"bash plain\">prepared transactions\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ok<\/code><\/div>\n<div class=\"line number14 index13 alt1\"><\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"bash plain\">*Clusters are compatible*<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>And then we can upgrade the cluster using this new parameter and still staying in this new created directory<\/p>\n<div>\n<div id=\"highlighter_761025\" class=\"syntaxhighlighter  bash\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<div class=\"line number17 index16 alt2\">17<\/div>\n<div class=\"line number18 index17 alt1\">18<\/div>\n<div class=\"line number19 index18 alt2\">19<\/div>\n<div class=\"line number20 index19 alt1\">20<\/div>\n<div class=\"line number21 index20 alt2\">21<\/div>\n<div class=\"line number22 index21 alt1\">22<\/div>\n<div class=\"line number23 index22 alt2\">23<\/div>\n<div class=\"line number24 index23 alt1\">24<\/div>\n<div class=\"line number25 index24 alt2\">25<\/div>\n<div class=\"line number26 index25 alt1\">26<\/div>\n<div class=\"line number27 index26 alt2\">27<\/div>\n<div class=\"line number28 index27 alt1\">28<\/div>\n<div class=\"line number29 index28 alt2\">29<\/div>\n<div class=\"line number30 index29 alt1\">30<\/div>\n<div class=\"line number31 index30 alt2\">31<\/div>\n<div class=\"line number32 index31 alt1\">32<\/div>\n<div class=\"line number33 index32 alt2\">33<\/div>\n<div class=\"line number34 index33 alt1\">34<\/div>\n<div class=\"line number35 index34 alt2\">35<\/div>\n<div class=\"line number36 index35 alt1\">36<\/div>\n<div class=\"line number37 index36 alt2\">37<\/div>\n<div class=\"line number38 index37 alt1\">38<\/div>\n<div class=\"line number39 index38 alt2\">39<\/div>\n<div class=\"line number40 index39 alt1\">40<\/div>\n<div class=\"line number41 index40 alt2\">41<\/div>\n<div class=\"line number42 index41 alt1\">42<\/div>\n<div class=\"line number43 index42 alt2\">43<\/div>\n<div class=\"line number44 index43 alt1\">44<\/div>\n<div class=\"line number45 index44 alt2\">45<\/div>\n<div class=\"line number46 index45 alt1\">46<\/div>\n<div class=\"line number47 index46 alt2\">47<\/div>\n<div class=\"line number48 index47 alt1\">48<\/div>\n<div class=\"line number49 index48 alt2\">49<\/div>\n<div class=\"line number50 index49 alt1\">50<\/div>\n<div class=\"line number51 index50 alt2\">51<\/div>\n<div class=\"line number52 index51 alt1\">52<\/div>\n<div class=\"line number53 index52 alt2\">53<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"bash plain\">$ pg_upgrade\u00a0 --socketdir=<\/code><code class=\"bash plain\">\/home\/postgres\/<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"bash plain\">Performing Consistency Checks<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"bash plain\">-----------------------------<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"bash plain\">Checking cluster versions\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ok<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"bash plain\">Checking database user is the <\/code><code class=\"bash functions\">install<\/code> <code class=\"bash plain\">user\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ok<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"bash plain\">Checking database connection settings\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ok<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"bash plain\">Checking <\/code><code class=\"bash keyword\">for<\/code> <code class=\"bash plain\">prepared transactions\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ok<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"bash plain\">Checking <\/code><code class=\"bash keyword\">for<\/code> <code class=\"bash plain\">reg* data types <\/code><code class=\"bash keyword\">in<\/code> <code class=\"bash plain\">user tables\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ok<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"bash plain\">Checking <\/code><code class=\"bash keyword\">for<\/code> <code class=\"bash plain\">contrib<\/code><code class=\"bash plain\">\/isn<\/code> <code class=\"bash plain\">with bigint-passing mismatch\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ok<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"bash plain\">Checking <\/code><code class=\"bash keyword\">for<\/code> <code class=\"bash plain\">tables WITH OIDs\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ok<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"bash plain\">Creating dump of global objects\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ok<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"bash plain\">Creating dump of database schemas<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">ok<\/code><\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"bash plain\">Checking <\/code><code class=\"bash keyword\">for<\/code> <code class=\"bash plain\">presence of required libraries\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ok<\/code><\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"bash plain\">Checking database user is the <\/code><code class=\"bash functions\">install<\/code> <code class=\"bash plain\">user\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ok<\/code><\/div>\n<div class=\"line number16 index15 alt1\"><code class=\"bash plain\">Checking <\/code><code class=\"bash keyword\">for<\/code> <code class=\"bash plain\">prepared transactions\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ok<\/code><\/div>\n<div class=\"line number17 index16 alt2\"><\/div>\n<div class=\"line number18 index17 alt1\"><code class=\"bash plain\">If pg_upgrade fails after this point, you must re-initdb the<\/code><\/div>\n<div class=\"line number19 index18 alt2\"><code class=\"bash plain\">new cluster before continuing.<\/code><\/div>\n<div class=\"line number20 index19 alt1\"><\/div>\n<div class=\"line number21 index20 alt2\"><code class=\"bash plain\">Performing Upgrade<\/code><\/div>\n<div class=\"line number22 index21 alt1\"><code class=\"bash plain\">------------------<\/code><\/div>\n<div class=\"line number23 index22 alt2\"><code class=\"bash plain\">Analyzing all rows <\/code><code class=\"bash keyword\">in<\/code> <code class=\"bash plain\">the new cluster\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ok<\/code><\/div>\n<div class=\"line number24 index23 alt1\"><code class=\"bash plain\">Freezing all rows <\/code><code class=\"bash keyword\">in<\/code> <code class=\"bash plain\">the new cluster\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ok<\/code><\/div>\n<div class=\"line number25 index24 alt2\"><code class=\"bash plain\">Deleting files from new pg_xact\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ok<\/code><\/div>\n<div class=\"line number26 index25 alt1\"><code class=\"bash plain\">Copying old pg_xact to new server\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ok<\/code><\/div>\n<div class=\"line number27 index26 alt2\"><code class=\"bash plain\">Setting next transaction ID and epoch <\/code><code class=\"bash keyword\">for<\/code> <code class=\"bash plain\">new cluster\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ok<\/code><\/div>\n<div class=\"line number28 index27 alt1\"><code class=\"bash plain\">Deleting files from new pg_multixact<\/code><code class=\"bash plain\">\/offsets<\/code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <code class=\"bash plain\">ok<\/code><\/div>\n<div class=\"line number29 index28 alt2\"><code class=\"bash plain\">Copying old pg_multixact<\/code><code class=\"bash plain\">\/offsets<\/code> <code class=\"bash plain\">to new server\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ok<\/code><\/div>\n<div class=\"line number30 index29 alt1\"><code class=\"bash plain\">Deleting files from new pg_multixact<\/code><code class=\"bash plain\">\/members<\/code>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <code class=\"bash plain\">ok<\/code><\/div>\n<div class=\"line number31 index30 alt2\"><code class=\"bash plain\">Copying old pg_multixact<\/code><code class=\"bash plain\">\/members<\/code> <code class=\"bash plain\">to new server\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ok<\/code><\/div>\n<div class=\"line number32 index31 alt1\"><code class=\"bash plain\">Setting next multixact ID and offset <\/code><code class=\"bash keyword\">for<\/code> <code class=\"bash plain\">new cluster\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ok<\/code><\/div>\n<div class=\"line number33 index32 alt2\"><code class=\"bash plain\">Resetting WAL archives\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ok<\/code><\/div>\n<div class=\"line number34 index33 alt1\"><code class=\"bash plain\">Setting frozenxid and minmxid counters <\/code><code class=\"bash keyword\">in<\/code> <code class=\"bash plain\">new cluster\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ok<\/code><\/div>\n<div class=\"line number35 index34 alt2\"><code class=\"bash plain\">Restoring global objects <\/code><code class=\"bash keyword\">in<\/code> <code class=\"bash plain\">the new cluster\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ok<\/code><\/div>\n<div class=\"line number36 index35 alt1\"><code class=\"bash plain\">Restoring database schemas <\/code><code class=\"bash keyword\">in<\/code> <code class=\"bash plain\">the new cluster<\/code><\/div>\n<div class=\"line number37 index36 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">ok<\/code><\/div>\n<div class=\"line number38 index37 alt1\"><code class=\"bash plain\">Copying user relation files<\/code><\/div>\n<div class=\"line number39 index38 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">ok<\/code><\/div>\n<div class=\"line number40 index39 alt1\"><code class=\"bash plain\">Setting next OID <\/code><code class=\"bash keyword\">for<\/code> <code class=\"bash plain\">new cluster\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ok<\/code><\/div>\n<div class=\"line number41 index40 alt2\"><code class=\"bash plain\">Sync data directory to disk\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ok<\/code><\/div>\n<div class=\"line number42 index41 alt1\"><code class=\"bash plain\">Creating script to analyze new cluster\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ok<\/code><\/div>\n<div class=\"line number43 index42 alt2\"><code class=\"bash plain\">Creating script to delete old cluster\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 ok<\/code><\/div>\n<div class=\"line number44 index43 alt1\"><\/div>\n<div class=\"line number45 index44 alt2\"><code class=\"bash plain\">Upgrade Complete<\/code><\/div>\n<div class=\"line number46 index45 alt1\"><code class=\"bash plain\">----------------<\/code><\/div>\n<div class=\"line number47 index46 alt2\"><code class=\"bash plain\">Optimizer statistics are not transferred by pg_upgrade so,<\/code><\/div>\n<div class=\"line number48 index47 alt1\"><code class=\"bash plain\">once you start the new server, consider running:<\/code><\/div>\n<div class=\"line number49 index48 alt2\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">.<\/code><code class=\"bash plain\">\/analyze_new_cluster<\/code><code class=\"bash plain\">.sh<\/code><\/div>\n<div class=\"line number50 index49 alt1\"><\/div>\n<div class=\"line number51 index50 alt2\"><code class=\"bash plain\">Running this script will delete the old cluster's data files:<\/code><\/div>\n<div class=\"line number52 index51 alt1\"><code class=\"bash spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"bash plain\">.<\/code><code class=\"bash plain\">\/delete_old_cluster<\/code><code class=\"bash plain\">.sh<\/code><\/div>\n<div class=\"line number53 index52 alt2\"><code class=\"bash plain\">$<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h3>Conclusion :<\/h3>\n<p>In this blog we have seen the new option &#8211;socketdir for pg_upgrade. It&#8217;s a good thing to know that this parameter exists, but in most case the current working directory should be ok for an upgrade<\/p>\n","protected":false},"excerpt":{"rendered":"<p>By Mouhamadou Diaw PostgreSQL 12 is under development but tests can be done. Steps to install this version can be found in this dbi blog . Many thanks to Daniel. While reading the documentation I found that there is a new parameter for pg_upgrade. This new parameter is &#8211;socketdir. Why this parameter? In fact the [&hellip;]<\/p>\n","protected":false},"author":27,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[229,83],"tags":[1514,1481,1515],"type_dbi":[],"class_list":["post-12151","post","type-post","status-publish","format-standard","hentry","category-database-administration-monitoring","category-postgresql","tag-pg_upgrade","tag-postgresql-12","tag-socket-unix"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>PostgreSQL 12 : New option -socketdir for pg_upgrade - dbi Blog<\/title>\n<meta name=\"description\" content=\"postgresql 12, pg_upgrade, socket unix\" \/>\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\/postgresql-12-new-option-socketdir-for-pg_upgrade\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PostgreSQL 12 : New option --socketdir for pg_upgrade\" \/>\n<meta property=\"og:description\" content=\"postgresql 12, pg_upgrade, socket unix\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/postgresql-12-new-option-socketdir-for-pg_upgrade\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2018-12-07T21:30:30+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-06-09T15:12:07+00:00\" \/>\n<meta name=\"author\" content=\"Oracle Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Oracle Team\" \/>\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\\\/postgresql-12-new-option-socketdir-for-pg_upgrade\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-12-new-option-socketdir-for-pg_upgrade\\\/\"},\"author\":{\"name\":\"Oracle Team\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/66ab87129f2d357f09971bc7936a77ee\"},\"headline\":\"PostgreSQL 12 : New option &#8211;socketdir for pg_upgrade\",\"datePublished\":\"2018-12-07T21:30:30+00:00\",\"dateModified\":\"2023-06-09T15:12:07+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-12-new-option-socketdir-for-pg_upgrade\\\/\"},\"wordCount\":279,\"commentCount\":0,\"keywords\":[\"pg_upgrade\",\"postgresql 12\",\"socket unix\"],\"articleSection\":[\"Database Administration &amp; Monitoring\",\"PostgreSQL\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-12-new-option-socketdir-for-pg_upgrade\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-12-new-option-socketdir-for-pg_upgrade\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-12-new-option-socketdir-for-pg_upgrade\\\/\",\"name\":\"PostgreSQL 12 : New option -socketdir for pg_upgrade - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\"},\"datePublished\":\"2018-12-07T21:30:30+00:00\",\"dateModified\":\"2023-06-09T15:12:07+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/66ab87129f2d357f09971bc7936a77ee\"},\"description\":\"postgresql 12, pg_upgrade, socket unix\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-12-new-option-socketdir-for-pg_upgrade\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-12-new-option-socketdir-for-pg_upgrade\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/postgresql-12-new-option-socketdir-for-pg_upgrade\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"PostgreSQL 12 : New option &#8211;socketdir for pg_upgrade\"}]},{\"@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\\\/66ab87129f2d357f09971bc7936a77ee\",\"name\":\"Oracle Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g\",\"caption\":\"Oracle Team\"},\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/author\\\/oracle-team\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"PostgreSQL 12 : New option -socketdir for pg_upgrade - dbi Blog","description":"postgresql 12, pg_upgrade, socket unix","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\/postgresql-12-new-option-socketdir-for-pg_upgrade\/","og_locale":"en_US","og_type":"article","og_title":"PostgreSQL 12 : New option --socketdir for pg_upgrade","og_description":"postgresql 12, pg_upgrade, socket unix","og_url":"https:\/\/www.dbi-services.com\/blog\/postgresql-12-new-option-socketdir-for-pg_upgrade\/","og_site_name":"dbi Blog","article_published_time":"2018-12-07T21:30:30+00:00","article_modified_time":"2023-06-09T15:12:07+00:00","author":"Oracle Team","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Oracle Team","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/postgresql-12-new-option-socketdir-for-pg_upgrade\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/postgresql-12-new-option-socketdir-for-pg_upgrade\/"},"author":{"name":"Oracle Team","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee"},"headline":"PostgreSQL 12 : New option &#8211;socketdir for pg_upgrade","datePublished":"2018-12-07T21:30:30+00:00","dateModified":"2023-06-09T15:12:07+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/postgresql-12-new-option-socketdir-for-pg_upgrade\/"},"wordCount":279,"commentCount":0,"keywords":["pg_upgrade","postgresql 12","socket unix"],"articleSection":["Database Administration &amp; Monitoring","PostgreSQL"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/postgresql-12-new-option-socketdir-for-pg_upgrade\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/postgresql-12-new-option-socketdir-for-pg_upgrade\/","url":"https:\/\/www.dbi-services.com\/blog\/postgresql-12-new-option-socketdir-for-pg_upgrade\/","name":"PostgreSQL 12 : New option -socketdir for pg_upgrade - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2018-12-07T21:30:30+00:00","dateModified":"2023-06-09T15:12:07+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/66ab87129f2d357f09971bc7936a77ee"},"description":"postgresql 12, pg_upgrade, socket unix","breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/postgresql-12-new-option-socketdir-for-pg_upgrade\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/postgresql-12-new-option-socketdir-for-pg_upgrade\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/postgresql-12-new-option-socketdir-for-pg_upgrade\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"PostgreSQL 12 : New option &#8211;socketdir for pg_upgrade"}]},{"@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\/66ab87129f2d357f09971bc7936a77ee","name":"Oracle Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f711f7cd2c9b09bf2627133755b569fb5be0694810cfd33033bdd095fedba86d?s=96&d=mm&r=g","caption":"Oracle Team"},"url":"https:\/\/www.dbi-services.com\/blog\/author\/oracle-team\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/12151","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\/27"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=12151"}],"version-history":[{"count":2,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/12151\/revisions"}],"predecessor-version":[{"id":25794,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/12151\/revisions\/25794"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=12151"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=12151"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=12151"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=12151"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}