Index: pg_ctl.c
===================================================================
RCS file: /projects/cvsroot/pgsql/src/bin/pg_ctl/pg_ctl.c,v
retrieving revision 1.42
diff -u -r1.42 pg_ctl.c
--- pg_ctl.c	22 Oct 2004 00:24:18 -0000	1.42
+++ pg_ctl.c	24 Oct 2004 18:22:59 -0000
@@ -1281,6 +1281,7 @@
 					{
 						int			len = strlen(optarg);
 						char	   *env_var;
+						char       *tmppath;
 
 						env_var = xmalloc(len + 8);
 						snprintf(env_var, len + 8, "PGDATA=%s", optarg);
@@ -1290,8 +1291,12 @@
 						 * Show -D for easier postmaster 'ps'
 						 * identification
 						 */
+						tmppath = xmalloc(len + 7);
+						strcpy(tmppath, optarg);
+						canonicalize_path(tmppath);
 						pgdata_opt = xmalloc(len + 7);
-						snprintf(pgdata_opt, len + 7, "-D \"%s\" ", optarg);
+						snprintf(pgdata_opt, len + 7, "-D \"%s\" ", tmppath);
+						free(tmppath);
 						break;
 					}
 				case 'l':
