Re: Generic design: char vs varchar primary keys - Mailing list pgsql-sql

From Josh Kupershmidt
Subject Re: Generic design: char vs varchar primary keys
Date
Msg-id CAK3UJREnef=j-2RPZQ1pn_68EE_x7cRKVbTavPOCLZTN_jqN9A@mail.gmail.com
Whole thread Raw
In response to Generic design: char vs varchar primary keys  ("Raj Mathur (राज माथुर)" <raju@linux-delhi.org>)
Responses Re: Generic design: char vs varchar primary keys  ("Raj Mathur (राज माथुर)" <raju@linux-delhi.org>)
List pgsql-sql
2011/8/3 Raj Mathur (राज माथुर) <raju@linux-delhi.org>:
> Hi,
>
> Can you point me to any pages that explain the difference between using,
> say CHAR(8) vs VARCHAR(8) as the primary key for a table?  Is there any
> impact on the database in terms of:
>
> - Speed of indexed retrieval
> - Speed of join from a referencing table
> - Storage (I presume VARHAR(8) would have a slight edge, in general)
> - Any other issue

The docs have good info about the differences between these types:
http://www.postgresql.org/docs/current/static/datatype-character.html

I suspect the tiny size differences between char(8) and varchar(8) are
going to be negligible. In fact, this post talks precisely about this
concern, and more: http://www.depesz.com/index.php/2010/03/02/charx-vs-varcharx-vs-varchar-vs-text/

Personally I'd be most worried about the different semantics of the
types (i.e. treatment of trailing spaces), and perhaps the ease of
expanding the length constraint in the future.

Josh


pgsql-sql by date:

Previous
From: "Raj Mathur (राज माथुर)"
Date:
Subject: Generic design: char vs varchar primary keys
Next
From: "Raj Mathur (राज माथुर)"
Date:
Subject: Re: Generic design: char vs varchar primary keys