On 2016-09-26 1:15 AM, Gavin Flower wrote:
On 26/09/16 17:58, Patrick B wrote:
Hi guys,
I've got this domain:
CREATE DOMAIN public.a_city
AS character varying(80)
COLLATE pg_catalog."default";
And I need to increase the type from character varying(80) to
character varying(255).
How can I do that? didn't find info about it. I'm using Postgres 9.2
Thanks!
Patrick
Why not simply use the 'text' data type?
To change the data type on a column you can use:
ALTER [ COLUMN ] /column_name/ [ SET DATA ] TYPE /data_type/ [ COLLATE
/collation/ ] [ USING /expression/ ]
see:
https://www.postgresql.org/docs/9.2/static/sql-altertable.html
Note that 9.5 is the latest version of pg, with 9.6 being released
very soon!
Cheers,
Gavin
So I guess the answer to the question is:
- Find all occurrences of a_city
- Change the type of those columns to text (or varchar(80))
- Drop the domain
- Recreate with the proper definition. I agree with Gavin that text is a
better choice. Experience has taught me that server side size constraint
are more trouble than they're worth and that size constraints are better
handled on the client side.
- Change the type of the columns back to the domain.
--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general