changing varchar limits

Started by Jeff Davisover 23 years ago4 messagesgeneral
Jump to latest
#1Jeff Davis
pgsql@j-davis.com

What's the easiest way to change the allowable length of a varchar attribute?

I looked in pg_attribute and noticed that the allowable length of the varchar
(+4 bytes for the actual length, presumably) was the atttypemod attribute of
the pg_attribute relation. Is it safe to change that? I would of course need
to be a superuser.

Regards,
Jeff

#2Stephan Szabo
sszabo@megazone23.bigpanda.com
In reply to: Jeff Davis (#1)
Re: changing varchar limits

On Thu, 1 Aug 2002, Jeff Davis wrote:

What's the easiest way to change the allowable length of a varchar attribute?

I looked in pg_attribute and noticed that the allowable length of the varchar
(+4 bytes for the actual length, presumably) was the atttypemod attribute of
the pg_attribute relation. Is it safe to change that? I would of course need
to be a superuser.

That should be safe to change. If you're lowering it, you should make
sure the data fits.

#3Kevin Brannen
kevinb@nurseamerica.net
In reply to: Stephan Szabo (#2)
Re: changing varchar limits

Stephan Szabo wrote:

On Thu, 1 Aug 2002, Jeff Davis wrote:

What's the easiest way to change the allowable length of a varchar attribute?

I looked in pg_attribute and noticed that the allowable length of the varchar
(+4 bytes for the actual length, presumably) was the atttypemod attribute of
the pg_attribute relation. Is it safe to change that? I would of course need
to be a superuser.

That should be safe to change. If you're lowering it, you should make
sure the data fits.

To easily change a column from nullable to not-nullable, is flipping the
proper attribute all that's required? Just asking, cause it would be
very useful until there's an ALTER TABLE equivalent (in 7.3?).

Thanks,
Kevin

#4Tom Lane
tgl@sss.pgh.pa.us
In reply to: Kevin Brannen (#3)
Re: changing varchar limits

Kevin Brannen <kevinb@nurseamerica.net> writes:

To easily change a column from nullable to not-nullable, is flipping the
proper attribute all that's required? Just asking, cause it would be
very useful until there's an ALTER TABLE equivalent (in 7.3?).

Sure, just flip the bit (though if you're going to the not-nullable
state, it's your responsibility to make sure the existing data is in
fact not null). This is basically what the 7.3 implementation does.

regards, tom lane