Обсуждение: changing varchar limits
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
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.
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
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