Jan Wieck wrote: > On 9/1/2004 9:02 PM, Gaetano Mendola wrote: > >> Jan Wieck wrote: >> >> >>> Which is another point I was about to ask. How do these people, >>> running those huge and horribly important databases, ever test a >>> single application change? Or any schema changes for that matter. Do >>> they really type "psql -c 'alter table ...' proddb" and believe they >>> are professional users because they know what they are doing? >> >> >> I do alter table, but of course before to do it, I run my regression test >> on a database with almost no data inside. Each stored procedure is tested >> in order to execute each execution path. >> In 3 years working in this way I had no a singol failure after an alter >> schema operation. > > > If it is possible to define a representative but smaller dataset for > test purposes, that is certainly doable. Some systems are just too > complex to do this. SAP for example recommends a 4 stage deployment > scenario in case you do your own application development in R/3 systems. > You would have one or more development systems, that deliver their > changes into test systems with small and not necessarily representative > data. If all tests there succeed, the software is transported into the > integration test system, which is basically a copy of the production > system with full data. Only if that transport and the following tests > succeed, you transport exactly the same set of programs and catalog > changes into the production system. Otherwise you reset the integration > test system back to be a copy of the production system. > > There are a lot of possible levels between playing russian roulette with > your data and being paranoid. If a corrupted database can cause the > company to go under, some prefer paranoid.
Paranoid means also don't trust in new hw without have test it for a while. How ever if I leave unchanged all interfaces and all my test cases are continuously passing ( 3200 different test in my case ) all the night long I'm quite sure that the schema change will not hurt nothing. However I have to say that add come column, with default value and a check on it is no to doable with very bigtables. Fortunately with the 8.0 you can do these tasks in one shot.
Regards Gaetano Mendola
---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match