Re: char column with a single space as the default not working

From: M Sarwar <sarwarmd02(at)outlook(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Ron Johnson <ronljohnsonjr(at)gmail(dot)com>
Cc: Pgsql-admin <pgsql-admin(at)lists(dot)postgresql(dot)org>
Subject: Re: char column with a single space as the default not working
Date: 2023-11-30 22:43:17
Message-ID: DM4PR19MB597873E9E96C6B64C4ADEE4CD382A@DM4PR19MB5978.namprd19.prod.outlook.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

I had the similar issue few months ago when I was using CHAR. The issue is resolved when I started using VARYING CHARACTERS data types.
Thanks,
Sarwar

________________________________
From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Sent: Thursday, November 30, 2023 5:34 PM
To: Ron Johnson <ronljohnsonjr(at)gmail(dot)com>
Cc: Pgsql-admin <pgsql-admin(at)lists(dot)postgresql(dot)org>
Subject: Re: char column with a single space as the default not working

Ron Johnson <ronljohnsonjr(at)gmail(dot)com> writes:
> On Thu, Nov 30, 2023 at 2:56 PM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> Yeah, the space is stored. What is probably surprising the OP
>> is that applying the || operator involves a coercion from "char"
>> to "text", which strips the defined-to-be-insignificant trailing
>> space(s) of the "char" value.

> How do you get a trailing space when trailing spaces are significant?

Use varchar or text. If you want trailing spaces to be significant,
char is simply the wrong data type.

regards, tom lane

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message Laurenz Albe 2023-12-01 07:15:21 Re: char column with a single space as the default not working
Previous Message Tom Lane 2023-11-30 22:34:25 Re: char column with a single space as the default not working