Dne 14. 2. 2017 21:35 napsal uživatel "Andres Freund" <and...@anarazel.de>:
On 2017-02-14 14:29:56 -0600, Jim Nasby wrote: > On 2/14/17 1:59 PM, Andres Freund wrote: > > > AFAIK if you're doing make check (as opposed to installcheck) it's > > > significantly more complicated than that since you'd have to create a temp > > > cluster/install yourself. > > > > But in that case you can't have useful templates in the regression test > > either, so the whole discussion is moot? > > At that point it depends on what you're trying to do. Presumably separating > cluster control would make it much easier to script createdb/dropdb as you > suggested. That's not what I responded to... > Tom's use case might be more easily served by specifying a > template database. I don't think Pavel ever posted his use case. Wait, that's precisely what Pavel asked? I would to use regress test environment in my current case. 99% code in plpgsql, but there is pretty complex schema. About 300 tables. 1k views. 2k functions. Import schema is slow. Database clonning is much faster. On 2017-02-07 16:43:47 +0100, Pavel Stehule wrote: > Is possible to specify template database for pg_regress? > > I have to run tests on database with thousands database objects. Using > template is much faster than import these objects. Obviously that only makes sense with installcheck. > Speaking for myself, my normal pattern is to have a number of separate > pg_regress suites, each of which ends up loading the extension under test. > Loading a large extension can end up being very time consuming; enough so > that I'd expect it to be much faster to create the temp cluster, load all > the prereq's once in some template database, and then use that template for > most/all of the tests. I seriously doubt that. CREATE DATABASE is ridiculously expensive, copies everything on the file-level and requires checkpoints. If your extension is more expensive than that, I'd say you're likely doing something wrong. - Andres