Re: [HACKERS] domain feature - details
От | Mattias Kregert |
---|---|
Тема | Re: [HACKERS] domain feature - details |
Дата | |
Msg-id | 34FFD2A6.65A76761@algonet.se обсуждение исходный текст |
Ответ на | domain feature - details (al dev <aldevpgsql@yahoo.com>) |
Ответы |
Re: [HACKERS] domain feature - details
|
Список | pgsql-hackers |
al dev wrote: > > Hi all: > More details on what domains are. Domains are global > column definitions, upon which column definitions > can be based. A domain specifies a data type, and a > set of column attributes and constraints. Subsequent > table definitions can use the domain to define columns. > > Here is the detail for 'ALTER DOMAIN' feature. I > pulled this off the chapter 42 at > http://sunsite.unc.edu/LDP/HOWTO/Database-HOWTO.html> > <alter domain statement> ::= > ALTER DOMAIN <domain name> <alter domain action> > > <alter domain action> ::= > <set domain default clause> > | <drop domain default clause> > | <add domain constraint definition> > | <drop domain constraint definition> What happens if I change a DOMAIN after I have created tables with it? Does CONSTRAINT's and DEFAULTS and TYPES change for those tables, or should it only affect tables created after the change? Suppose I do this: 1. I create DOMAIN for "Person", and create lots of tables with Person columns. 2. After some weeks, I want to CONSTRAIN Person to disallow NULL social security number, so I change the "Person" DOMAIN. Do I have to re-create all tables, or will the change take effect immediately? Will some changes take effect, like default and constraint, but not the data type? Or will changes in data type cause the tables to be modified? Will the database lock the tables and convert them when I type the ALTER command? /* m */
В списке pgsql-hackers по дате отправления: