Re: PGXS: REGRESS_OPTS=--load-language=plpgsql
От | Bruce Momjian |
---|---|
Тема | Re: PGXS: REGRESS_OPTS=--load-language=plpgsql |
Дата | |
Msg-id | 201002211925.o1LJPSn18069@momjian.us обсуждение исходный текст |
Ответ на | Re: PGXS: REGRESS_OPTS=--load-language=plpgsql (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: PGXS: REGRESS_OPTS=--load-language=plpgsql
|
Список | pgsql-hackers |
Tom Lane wrote: > Robert Haas <robertmhaas@gmail.com> writes: > > On Feb 20, 2010, at 10:56 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > >> There is a very clear set of behaviors that CORL ought to have given > >> the precedents of our other COR commands. If we don't make it do > >> things that way then we are going to surprise users, and we are also > >> going to paint ourselves into a corner because we won't be able to > >> fix it later without creating compatibility gotchas. > > > Exactly. I agree completely. > > Attached is a draft patch (no doc changes) that implements CREATE OR > REPLACE LANGUAGE following the semantics used in CREATE OR REPLACE > FUNCTION, namely that in addition to whatever privileges you need to > do the CREATE, you need to be owner of the existing entry if any; > and the recorded ownership and permissions don't change. It's not bad > at all --- net addition of 40 lines. So if we want to go at it this > way, it's certainly feasible. > > I've got mixed feelings about the ownership check. If you get past > the normal CREATE LANGUAGE permission checks, then either you are > superuser, or you are database owner and you are trying to recreate > a language from a pg_pltemplate entry with tmpldbacreate true. > So it would fail only for a database owner who's trying to do > C.O.R.L. on a superuser-installed language. Which arguably is a case > we ought to allow. On the other hand, the case where not throwing an > error would really matter is in trying to do pg_restore --single, and > in that case even if we allowed the C.O.R.L. it would still spit up on > the ALTER LANGUAGE OWNER that pg_dump is presumably going to emit right > afterwards (except if using --no-owner, I guess). So I'm not sure > we'd really be gaining much by omitting the ownership check, and it > would certainly be less consistent with other C.O.R. commands if we > don't apply such a check. How is pg_migrator affected by this? It always loads the the dump as the super-user. How will the pg_dump use CREATE OR REPLACE LANGUAGE? -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.comPG East: http://www.enterprisedb.com/community/nav-pg-east-2010.do + If your life is a hard drive,Christ can be your backup. +
В списке pgsql-hackers по дате отправления: