Re: [HACKERS] Trim the Fat (Was: Re: Open 7.3 items )

2002-08-01 Thread Marc G. Fournier

On Thu, 1 Aug 2002, Tom Lane wrote:

 Thomas Lockhart [EMAIL PROTECTED] writes:
  Until we have folks who are excited enough about it to plan it out and
  do the work, piecemeal rejection of components is not leading to a more
  solid product.

 I'm lukewarm about whether to actually do the split or not ... but for
 sure I agree with Thomas' point here.  We need a plan and careful
 implementation, or a split-up will just make life worse.

 Stuff that is in the tree tends to get maintained in passing.  For
 example, I've got some changes to contrib/dblink/ in my in-progress
 version of Chris' DROP COLUMN patch, because a grep for references
 to rel-rd_att turned it up.  If dblink weren't in our CVS it'd have
 been broken by DROP COLUMN, and who knows whether we'd catch that
 during beta?  I realize that Marc wasn't proposing splitting off any
 server-side code, but I still want to tread carefully about breaking
 up the codebase.

Okay, well, the way I'm working it through right now, I'm doing it in such
a way that unless you go mucking in the repository directly, it will be
transparent to the coders, as well as to the distribution as a whole ...

In fact, based on a comment that Thomas made in another email, I'll even
fix up the whole 'cvs checkout pgsql' thing so that that goes back to its
previous incarnation of pulling everything, instead of needing to do
pgsql-all ...

So, from the 'client side', y'all will still see everything as one big
package, while from the 'server side', I'll have the seperate modules
taht can be packaged independently ...

Next, unless Peter knows how to do it already, I've gotta learn to make
configure more intelligent, so that for all intents, the pieces look
like one package when building, not just when coding ...


---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



Re: [HACKERS] Trimming the Fat, Part Deux ...

2002-08-01 Thread Marc G. Fournier

On Wed, 31 Jul 2002, Thomas Lockhart wrote:

 ...
  *Eventually*, a simple checkout of 'pgsql' should result in a server
  only distribution that we can pull bits and pieces into transparently ...

 I'm still not quite sure where this is headed or why, but if nothing
 else pgsql could and should be the whole thing, and pgsql-server could
 be the server subset. Server-only makes sense for only some users, and
 nothing apparently makes sense for everyone. But we may as well have the
 old names do the old things...

will make those changes in the morning ...



---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



Re: [HACKERS] Open 7.3 items

2002-08-01 Thread Hannu Krosing

On Thu, 2002-08-01 at 02:05, Bruce Momjian wrote:
 Marc G. Fournier wrote:
  On Wed, 31 Jul 2002, Neil Conway wrote:
  
   On Wed, Jul 31, 2002 at 02:01:43AM -0300, Marc G. Fournier wrote:
add in 'fix pg_hba.conf / password issues' to that too :)
  
   I doubt that will make 7.3 -- the proposals I've seen on this topic
   require some reasonably complex additions to the authentication
   system. We also still need to hash out which design we're going
   to implement. Given that it's pretty esoteric, I'd prefer this
   wait for 7.4
  
  Then, the current changes *should* be removed, as we have no idea how many
  sites out there we are going to break without that functionality ... I
  know I personally have 200+ servers that will all break as soon as I move
  to v7.3 with it as is :(
 
 OK, I have thought about this.  First, a possible solution would be to
 have a GUC variable that prepends the dbname to all username
 specifications, so the username becomes dbname.username.

When I first read Marc's post about this I also thought that the users
were partitioned by database, but further reading revealed that tis was
not the case - actually they were partitioned by _a_group_of_databases_,
as each of his virtual hosts accesses on _at_least_ one but possibly
more databases using the same user (bruce ;).

So we would need some sort of database groups that share the same users.

We have to do something like this:

  real_user_name = mk_real_user_name(username,dbname) 

which uses some mapping table to find the real user that is trying to
connect to the database.

This name mangling should be done at connect time and kept out of
database, where each users name should always be fully resolved
([EMAIL PROTECTED]). 

This may require raising the length of NAME type to be backwards
compatible. Or we migth just add USEDOMAIN column to uniquely identify
the user. so the above user would still have usename=bob but also
usedomain=accounting.acme.com.

---
Hannu

---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



Re: [HACKERS] Open 7.3 items

2002-08-01 Thread Hannu Krosing

On Thu, 2002-08-01 at 06:48, Marc G. Fournier wrote:
 On Wed, 31 Jul 2002, Bruce Momjian wrote:
 
  One idea I had was to look for a colon in the username, and if I see
  one, I assume everything after the colon is a password.  Would that work
  for you?
 
 That would definitely work ... but I *really* like your GUC idea ... it
 would allow ppl to change passwords using simple SQL statements remotely,
 which the old password stuff didn't allow for ...

I think that the users domain should be kept separate from username if
at all possible. This is how all modern authentication systems work.

-
Hannu


---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



Re: [HACKERS] Open 7.3 items

2002-08-01 Thread Dave Page



 -Original Message-
 From: Iavor Raytchev [mailto:[EMAIL PROTECTED]] 
 Sent: 31 July 2002 22:12
 To: pgsql-hackers
 Cc: pgaccess - developers
 Subject: Re: [HACKERS] Open 7.3 items
 
 
 
   psql is very definitely not ready, nor is pgaccess.
 
 I could not really trace who said this.
 
 To my understanding nobody is currently testing how pgaccess 
 is dealing with 7.3 Am I wrong?

If my experience with pgAdmin is anything to go on then you've got a
*huge* amount of work to do for 7.3 if you haven't done anything yet.

Regards, Dave.

---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



Re: [HACKERS] Open 7.3 items

2002-08-01 Thread Alvaro Herrera

Bruce Momjian dijo: 

 Here are the open items for 7.3.  We have one more month to address them
 before beta.

 CLUSTER - ready?

I'm just back.  I'll have a look at the problem with the patch and
resubmit.

-- 
Alvaro Herrera (alvherre[a]atentus.com)
Es filosofo el que disfruta con los enigmas (G. Coli)


---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [HACKERS] Open 7.3 items

2002-08-01 Thread Zeugswetter Andreas SB SD


   NAMEDATALEN - disk/performance penalty for increase, 64, 128?
   FUNC_MAX_ARGS - disk/performance penalty for increase, 24, 32?
  
  At the moment I don't see a lot of solid evidence that increasing
  NAMEDATALEN has any performance penalty.  Someone reported about
  a 10% slowdown on pgbench with NAMEDATALEN=128 ... but Neil Conway
  tried to reproduce the result, and got about a 10% *speedup*.
  Personally I think 10% is well within the noise spectrum for
  pgbench, and so it's difficult to claim that we have established
  any performance difference at all.  I have not tried to measure
  FUNC_MAX_ARGS differences.
 
 Yes, we need someone to benchmark both the NAMEDATALEN and FUNC_MAX_ARGS
 to prove we are not causing performance problems.

I think a valid NAMEDATALEN benchmark would need to use a lot of tables,
like 1000-6000 with 10-100 columns each. The last bench was iirc done with 
pgbench that only uses a few tables. (The name type is fixed length) 

Andreas

---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



Re: [HACKERS] Open 7.3 items

2002-08-01 Thread Jean-Michel POURE

Le Mercredi 31 Juillet 2002 05:50, Bruce Momjian a écrit :
 Here are the open items for 7.3.  We have one more month to address them
 before beta.

Is CREATE OR REPLACE VIEW on the list?

---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



Re: [HACKERS] getpid() function

2002-08-01 Thread Karel Zak

On Tue, Jul 30, 2002 at 09:48:42PM -0400, Bruce Momjian wrote:
 
 OK, renamed to backend_pid() to match the libpq name.  I was unsure
 about merging it into the stats stuff myself.
   
   setest= select backend_pid();
backend_pid 
   -
  12996
   (1 row)

 Is there some common convention of names? Why not pg_backend_pid()?

Karel

-- 
 Karel Zak  [EMAIL PROTECTED]
 http://home.zf.jcu.cz/~zakkr/
 
 C, PostgreSQL, PHP, WWW, http://docs.linux.cz, http://mape.jcu.cz

---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [HACKERS] Rules and Views

2002-08-01 Thread Zeugswetter Andreas SB SD


 But the message I was replying to was a similar union query, and I was
 thinking that that person might be having a similar initial intuitive
 reaction, well, it looks kinda the same. I just wanted to note that
 you need to check this stuff with explain, rather than 
 blindly assuming
 you know what's going on.

I had a union all view, which is actually a quite different animal than 
a union view which needs to eliminate duplicates before further processing.

Andreas

---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [HACKERS] Rules and Views

2002-08-01 Thread Curt Sampson

On Thu, 1 Aug 2002, Zeugswetter Andreas SB SD wrote:

 I had a union all view, which is actually a quite different animal than
 a union view which needs to eliminate duplicates before further processing.

I had the same problem with UNION ALL.

cjs
-- 
Curt Sampson  [EMAIL PROTECTED]   +81 90 7737 2974   http://www.netbsd.org
Don't you know, in this new Dark Age, we're all light.  --XTC


---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



Re: [HACKERS] Rules and Views

2002-08-01 Thread Hannu Krosing

On Thu, 2002-08-01 at 12:29, Curt Sampson wrote:
 On Thu, 1 Aug 2002, Zeugswetter Andreas SB SD wrote:
 
  I had a union all view, which is actually a quite different animal than
  a union view which needs to eliminate duplicates before further processing.
 
 I had the same problem with UNION ALL.


Could someone give an example where it is not safe to push the WHERE
clause down to individual parts of UNION (or UNION ALL) wher these parts
are simple (non-aggregate) queries?

I can see that it has to be made into HAVING in subquery if UNION's
subqueries are aggregate (GROUP BY) queries, but can anyone give an
example where the meaning of the query changes for non-aggregate
subqueries.

---
Hannu

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



[HACKERS] cvs checkout pgsql

2002-08-01 Thread Marc G. Fournier


... is once more 'normal' ...

there are three modules right now setup:

earthdistance
libpqxx
pgsql-server

pgsql combines all three of the above to transparently give the equivalent
of the whole distribution from its component parts ...




---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] Trim the Fat (Was: Re: Open 7.3 items )

2002-08-01 Thread Tom Lane

Marc G. Fournier [EMAIL PROTECTED] writes:
 I realize that Marc wasn't proposing splitting off any
 server-side code, but I still want to tread carefully about breaking
 up the codebase.

 Okay, well, the way I'm working it through right now, I'm doing it in such
 a way that unless you go mucking in the repository directly, it will be
 transparent to the coders, as well as to the distribution as a whole ...

 In fact, based on a comment that Thomas made in another email, I'll even
 fix up the whole 'cvs checkout pgsql' thing so that that goes back to its
 previous incarnation of pulling everything, instead of needing to do
 pgsql-all ...

Okay, that works for me --- that makes it just a packaging issue, and
not something that will hide stuff from people who want to look through
the whole tree.

regards, tom lane

---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



Re: [HACKERS] Trim the Fat (Was: Re: Open 7.3 items )

2002-08-01 Thread Marc G. Fournier

On Thu, 1 Aug 2002, Tom Lane wrote:

 Marc G. Fournier [EMAIL PROTECTED] writes:
  I realize that Marc wasn't proposing splitting off any
  server-side code, but I still want to tread carefully about breaking
  up the codebase.

  Okay, well, the way I'm working it through right now, I'm doing it in such
  a way that unless you go mucking in the repository directly, it will be
  transparent to the coders, as well as to the distribution as a whole ...

  In fact, based on a comment that Thomas made in another email, I'll even
  fix up the whole 'cvs checkout pgsql' thing so that that goes back to its
  previous incarnation of pulling everything, instead of needing to do
  pgsql-all ...

 Okay, that works for me --- that makes it just a packaging issue, and
 not something that will hide stuff from people who want to look through
 the whole tree.

Actually, it makes it a 'storage' issue on the CVS server itself, but
makes creating various packages easier ... I've pop'd off an email to the
libpqxx configure guys to get their standalone configure issues fixed (try
running autogen.sh), after which I want to look into 'calling' the
standalone configure from the global one if --enable-libpqxx is called
(which we can later default to 'on' if that should become the default) ...



---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [HACKERS] Open 7.3 items

2002-08-01 Thread Tom Lane

Hannu Krosing [EMAIL PROTECTED] writes:
 This name mangling should be done at connect time and kept out of
 database, where each users name should always be fully resolved
 ([EMAIL PROTECTED]). 

I really like Hannu's approach to this.  It seems to solve Marc's
problem with a very simple, easily understood, easily implemented
feature.  All we need is a postmaster configuration parameter that
(when TRUE) causes the postmaster to convert the passed username
into 'username@databasename' before looking it up in pg_shadow.

(Actually, what I'd prefer it do is try first for username, and
then username@databasename if plain username isn't found.)

With this approach, we have an underlying mechanism that supports
installation-wide usernames, same as before, but with the flip of
a switch you can configure the system to support per-database
usernames.  It's not fancy, maybe, but it will get the job done
with an appropriate amount of effort.

We've had several proposals in this thread for complicated extensions
to the user naming mechanism.  I think that's overdesigning the feature,
because we have *no* examples of real-world need for such things except
for Marc's situation.  Let's keep it simple until we see real use cases
that can drive the design of something fancy.

 This may require raising the length of NAME type to be backwards
 compatible.

Right, but we're planning to do that anyway.

regards, tom lane

---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] Rules and Views

2002-08-01 Thread Stephan Szabo

On 1 Aug 2002, Hannu Krosing wrote:

 On Thu, 2002-08-01 at 12:29, Curt Sampson wrote:
  On Thu, 1 Aug 2002, Zeugswetter Andreas SB SD wrote:
 
   I had a union all view, which is actually a quite different animal than
   a union view which needs to eliminate duplicates before further processing.
 
  I had the same problem with UNION ALL.
 

 Could someone give an example where it is not safe to push the WHERE
 clause down to individual parts of UNION (or UNION ALL) wher these parts
 are simple (non-aggregate) queries?

For union, queries that want to do something like use a temporary
sequence to act sort of like rownum and do row limiting.  Admittedly
that's already pretty much unspecified behavior, but it does change
the behavior in the place of duplicate removal.  In addition, I think
using bits of the spec we don't completely support you can have the
same issue with the undefined behavior of which duplicate is returned
for values that aren't the same but are equal, for example where the
duplicate removal is in one collation but the outer comparison has
a different explicitly given one.

I haven't come up with any useful examples, and not really any for
union all, however.



---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



Re: [HACKERS] getpid() function

2002-08-01 Thread Neil Conway

On Thu, Aug 01, 2002 at 12:01:52PM +0200, Karel Zak wrote:
  Is there some common convention of names?

No, there isn't (for example, pg_stat_backend_id() versus
current_schema() -- or pg_get_viewdef() versus obj_description() ).
Now that we have table functions, we might be using more built-in
functions to provide information to the user -- so there will be
an increasing need for some kind of naming convention for built-in
functions. However, establishing a naming convention without
breaking backwards compatibility might be tricky.

Cheers,

Neil

-- 
Neil Conway [EMAIL PROTECTED]
PGP Key ID: DB3C29FC

---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



Re: [HACKERS] getpid() function

2002-08-01 Thread Rod Taylor

On Thu, 2002-08-01 at 10:44, Neil Conway wrote:
 On Thu, Aug 01, 2002 at 12:01:52PM +0200, Karel Zak wrote:
   Is there some common convention of names?

 functions. However, establishing a naming convention without
 breaking backwards compatibility might be tricky.

Supporting both names for a release with comments in the release notes
stating the old names will disappear soon should be enough.

Most of the time it'll be a simple replacement command.  Providing a
find -exec sed statement may help.


---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] Rules and Views

2002-08-01 Thread Stephan Szabo


On Thu, 1 Aug 2002, Stephan Szabo wrote:

 On 1 Aug 2002, Hannu Krosing wrote:

  On Thu, 2002-08-01 at 12:29, Curt Sampson wrote:
   On Thu, 1 Aug 2002, Zeugswetter Andreas SB SD wrote:
  
I had a union all view, which is actually a quite different animal than
a union view which needs to eliminate duplicates before further processing.
  
   I had the same problem with UNION ALL.
  
 
  Could someone give an example where it is not safe to push the WHERE
  clause down to individual parts of UNION (or UNION ALL) wher these parts
  are simple (non-aggregate) queries?

 For union, queries that want to do something like use a temporary
 sequence to act sort of like rownum and do row limiting.  Admittedly
 that's already pretty much unspecified behavior, but it does change
 the behavior in the place of duplicate removal.  In addition, I think
 using bits of the spec we don't completely support you can have the
 same issue with the undefined behavior of which duplicate is returned
 for values that aren't the same but are equal, for example where the
 duplicate removal is in one collation but the outer comparison has
 a different explicitly given one.

Replying to myself, you can do this right now with char columns if you
just push the conditions down blindly, something like:

create table t1(a char(5));
create table t2(a char(6));

insert into t1 values ('a');
insert into t2 values ('a');

select * from (select * from t2 union select * from t1) as f where
 a::text='a';
select * from (select * from t2 where a::text='a' union
 select * from t1 where a::text='a') as f;

The first select gives no rows, the second gives one.  We'd have
to transform the second where clause to something like
cast(a as char(6))::text='a' in order to get the same effect
I think.


---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] getpid() function

2002-08-01 Thread Karel Zak

On Thu, Aug 01, 2002 at 10:44:23AM -0400, Neil Conway wrote:
 On Thu, Aug 01, 2002 at 12:01:52PM +0200, Karel Zak wrote:
   Is there some common convention of names?
 
 No, there isn't (for example, pg_stat_backend_id() versus

 I know -- for this I asked. IMHO for large project like PostgreSQL
 it's important. It's not good if there is possible speculate about
 name of new function. It must be unmistakable -- for this is needful
 make some convension. If somebody add new function and it's released,
 it's in the PostgreSQL almost forever.

 current_schema() -- or pg_get_viewdef() versus obj_description() ).
 Now that we have table functions, we might be using more built-in
 functions to provide information to the user -- so there will be
 an increasing need for some kind of naming convention for built-in
 functions. However, establishing a naming convention without
 breaking backwards compatibility might be tricky.
 
 Yes, but we can try be clean for new stuff.
 
Karel

-- 
 Karel Zak  [EMAIL PROTECTED]
 http://home.zf.jcu.cz/~zakkr/
 
 C, PostgreSQL, PHP, WWW, http://docs.linux.cz, http://mape.jcu.cz

---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [HACKERS] Trimming the Fat, Part Deux ...

2002-08-01 Thread Lamar Owen

On Wednesday 31 July 2002 09:38 pm, Marc G. Fournier wrote:
 Okay ... since this is pretty much going to be 'one camp for, one camp
 against' without anything to really back up either camps perspectives /
 arguments, I did some research on CVS in order to find a nice, effective
 middle ground ... and it actually works quite sweet ...

MAn, did I ever pick a bad day to be offline for a whole day. :-)

If anyone cares to look, or for that matter cares at all, something similar is 
already being done in the binary RPMs.  I have split, sliced, and diced this 
distribution for over three years.  So, let me share some of the experiences 
learned from that exercise.

 Now comes the 'tricky part, which I'm hoping someone like Peter might know
 how to do ... I know there is a way of writing configure to 'run
 configure' in sub projects .. for instance, with libpqxx ... at the top
 level of pgsql, one could type:

 ./configure --enable-libpqxx

I like this idea, up to an extent.  I guess it boils down to this:
1.) What is the minimum build environment necessary to build anything in the 
source distribution;
2.) What degree of granularity is desired;
3.) We must not assume the presence of a full source tree to build _anything_, 
only the minimum build system, which can then handle everything else as a 
module.

Then I could much more easily package a 'postgresql-devel' package that would 
allow, for instance, PostGIS to be built as a server module without having to 
have the entire source distribution tree in place (which is currently 
required).  As PostGIS is a separately developed and distributed module, it 
seems reasonable that it should be buildable without the full source tree in 
place. 

As to getting rid of bloat, I'm all for splitting out contrib modules, client 
libraries, and the like into separate projects.  If the build system is a 
unit, and is not dependent upon the server or libpq source code, then it is 
easier and more consistent to just require it to be in place to build ANY 
contrib or client module.

We're too big and too spread out.  It was said (by Andrew) that we're hard to 
install -- why is that?  Is it possible that it is _because_ of the number of 
pieces we include?

And the sooner our very old perl client goes away, the better I like it.  It 
is a good client, don't get me wrong: but DBD:Pg is the standard now.

But, if you are an RPM user, you can already just download the pieces for a 
minimal client-side system.  And you have been able to do so for right at 
three years, give or take.
-- 
Lamar Owen
WGCR Internet Radio
1 Peter 4:11

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] Trimming the Fat, Part Deux ...

2002-08-01 Thread Jeff MacDonald

 And the sooner our very old perl client goes away, the better I 
 like it.  It 
 is a good client, don't get me wrong: but DBD:Pg is the standard now.
 

This may sound like a dumb question, but DBD::Pg == DBI right ? not pg.pm

I code perl about 25 hours a week, and DBI has never failed me yet.

Jeff.

---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [HACKERS] Trimming the Fat, Part Deux ...

2002-08-01 Thread Lamar Owen

On Thursday 01 August 2002 12:05 pm, Jeff MacDonald wrote:
  And the sooner our very old perl client goes away, the better I
  like it.  It
  is a good client, don't get me wrong: but DBD:Pg is the standard now.

 This may sound like a dumb question, but DBD::Pg == DBI right ? not pg.pm

Right.
-- 
Lamar Owen
WGCR Internet Radio
1 Peter 4:11

---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [HACKERS] WAL file location

2002-08-01 Thread Andrew Sullivan

On Wed, Jul 31, 2002 at 11:20:35PM -0400, Bruce Momjian wrote:
 
 I am wondering why we even want to specify the WAL location anywhere
 except as a flag to initdb.  If you specify a location at initdb time,
 it creates the /xlog directory, then symlinks it into /data.

I thought the whole point of it was to make it easy to move WAL. 
Which is certainly a Good Thing.

A

-- 

Andrew Sullivan   87 Mowat Avenue 
Liberty RMS   Toronto, Ontario Canada
[EMAIL PROTECTED]  M6K 3E3
 +1 416 646 3304 x110


---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



Re: [HACKERS] cvs checkout pgsql

2002-08-01 Thread Marc G. Fournier

On Thu, 1 Aug 2002, Tom Lane wrote:

 Marc G. Fournier [EMAIL PROTECTED] writes:
  ... is once more 'normal' ...

 Uh, it's completely broken as far as I can tell.

 $ pwd
 /home/postgres/pgsql/src/bin/pg_dump
 $ cvs status
 cvs server: Examining .
 cvs server: failed to create lock directory for `/cvsroot/pgsql/src/bin/pg_dump'
  (/cvsroot/pgsql/src/bin/pg_dump/#cvs.lock): No such file or directory
 cvs server: failed to obtain dir lock in repository `/cvsroot/pgsql/src/bin/pg_dump'
 cvs [server aborted]: read lock failed - giving up
 $

 Also, http://developer.postgresql.org/cvsweb.cgi/pgsql/ isn't working.

 This makes it a little difficult to get any work done :-(

I made a large change this morning based on a comment by Thomas ... the
way I *had* it was to get the whole thing, you had to checkout pgsql-all
... Thomas suggested leaving it as pgsql, with pgsql-server being 'the
base', but in order to do that, I had to move the pgsql repository to
pgsql-server, since otherwise modules makes it recursive on my ... its a
'one time only change', but it requires a fresh checkout to get the
patches in properly ... same thing that I explained yesterday about how
you'll get a 'No such file or directory' is you tried to update, say,
libpqxx, since its path is no longer
/cvsroot/pgsql/src/interfaces/libpqxx, but is /cvsroot/interfaces/libpqxx
... the fact that its different modules is transparent to the programmer
*unless*, of course, its already checked out at the tiem :(

 Script started on Thu Aug  1 15:15:48 2002
 setenv CVSROOT /cvsroot
 cvs -q checkout -P pgsql
U pgsql/COPYRIGHT
U pgsql/GNUmakefile.in
U pgsql/HISTORY
U pgsql/INSTALL
alot of lines deleted
U pgsql/src/interfaces/libpqxx/test/test5.cxx
U pgsql/src/interfaces/libpqxx/test/test6.cxx
U pgsql/src/interfaces/libpqxx/test/test7.cxx
U pgsql/src/interfaces/libpqxx/test/test8.cxx
U pgsql/src/interfaces/libpqxx/test/test9.cxx
 cd pgsql/src/bin/pg_dump
cvs s cvs status
cvs status: Examining .
===
File: Makefile  Status: Up-to-date

   Working revision:1.36Sat Jul 27 20:10:05 2002
   Repository revision: 1.36/cvsroot/pgsql-server/src/bin/pg_dump/Makefile,v
   Sticky Tag:  (none)
   Sticky Date: (none)
   Sticky Options:  (none)

===
File: READMEStatus: Up-to-date

   Working revision:1.5 Fri Jul 21 11:40:08 2000
   Repository revision: 1.5 /cvsroot/pgsql-server/src/bin/pg_dump/README,v
   Sticky Tag:  (none)
   Sticky Date: (none)
   Sticky Options:  (none)

alot more lines deleted

===
File: zh_CN.po  Status: Up-to-date

   Working revision:1.5 Mon Dec 10 18:45:57 2001
   Repository revision: 1.5 /cvsroot/pgsql-server/src/bin/pg_dump/zh_CN.po,v
   Sticky Tag:  (none)
   Sticky Date: (none)
   Sticky Options:  (none)

===
File: zh_TW.po  Status: Up-to-date

   Working revision:1.3 Thu Nov 29 18:59:28 2001
   Repository revision: 1.3 /cvsroot/pgsql-server/src/bin/pg_dump/zh_TW.po,v
   Sticky Tag:  (none)
   Sticky Date: (none)
   Sticky Options:  (none)

 exit
exit

Script done on Thu Aug  1 15:16:51 2002



---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] cvs checkout pgsql

2002-08-01 Thread Vince Vielhaber

On Thu, 1 Aug 2002, Tom Lane wrote:

 Marc G. Fournier [EMAIL PROTECTED] writes:
  ... is once more 'normal' ...

 Uh, it's completely broken as far as I can tell.

 $ pwd
 /home/postgres/pgsql/src/bin/pg_dump
 $ cvs status
 cvs server: Examining .
 cvs server: failed to create lock directory for `/cvsroot/pgsql/src/bin/pg_dump'
  (/cvsroot/pgsql/src/bin/pg_dump/#cvs.lock): No such file or directory
 cvs server: failed to obtain dir lock in repository `/cvsroot/pgsql/src/bin/pg_dump'
 cvs [server aborted]: read lock failed - giving up
 $

 Also, http://developer.postgresql.org/cvsweb.cgi/pgsql/ isn't working.

 This makes it a little difficult to get any work done :-(

What'r you typin about?  It works fine.   Ok, ok.. It does *NOW*. :)
There's probably still stuff that's broke that I haven't discovered
yet.

Vince.
-- 
==
Vince Vielhaber -- KA8CSHemail: [EMAIL PROTECTED]http://www.pop4.net
 56K Nationwide Dialup from $16.00/mo at Pop4 Networking
Online Campground Directoryhttp://www.camping-usa.com
   Online Giftshop Superstorehttp://www.cloudninegifts.com
==




---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] cvs checkout pgsql

2002-08-01 Thread Rod Taylor

On Thu, 2002-08-01 at 15:33, Vince Vielhaber wrote:
 On Thu, 1 Aug 2002, Tom Lane wrote:
 
  Marc G. Fournier [EMAIL PROTECTED] writes:
   ... is once more 'normal' ...
 
  Uh, it's completely broken as far as I can tell.
 
  $ pwd
  /home/postgres/pgsql/src/bin/pg_dump
  $ cvs status
  cvs server: Examining .
  cvs server: failed to create lock directory for `/cvsroot/pgsql/src/bin/pg_dump'
   (/cvsroot/pgsql/src/bin/pg_dump/#cvs.lock): No such file or directory
  cvs server: failed to obtain dir lock in repository 
`/cvsroot/pgsql/src/bin/pg_dump'
  cvs [server aborted]: read lock failed - giving up
  $
 
  Also, http://developer.postgresql.org/cvsweb.cgi/pgsql/ isn't working.
 
  This makes it a little difficult to get any work done :-(
 
 What'r you typin about?  It works fine.   Ok, ok.. It does *NOW*. :)
 There's probably still stuff that's broke that I haven't discovered
 yet.

Well, of course that specific URL doesn't work  because it's actually
pgsql-server.


---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] cvs checkout pgsql

2002-08-01 Thread Tom Lane

Rod Taylor [EMAIL PROTECTED] writes:
 Also, http://developer.postgresql.org/cvsweb.cgi/pgsql/ isn't working.
 
 What'r you typin about?  It works fine.   Ok, ok.. It does *NOW*. :)

 Well, of course that specific URL doesn't work  because it's actually
 pgsql-server.

Well, it did work before, and I'd really like it to work again.  I do
not want to think about how Marc's broken apart the distribution when
I'm looking at my local tree, and I don't want to think about it when
I'm looking at cvsweb either.

regards, tom lane

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



[HACKERS] Module Portability

2002-08-01 Thread Paul Ramsey

All this talk of modularity reminds me of a pet peeve: doing
dump/restore upgrades when your databases include extension functions is
highly clunky, because extension functions include the fully qualified
path to the linking library. So, for example

create function geometry_in(opaque)
RETURNS GEOMETRY
   AS '/opt/pgsql72/lib/contrib/libpostgis.so.0.7'
   LANGUAGE 'c' with (isstrict);

If I do a pg_dumpall on an old database and try to pipe into a new
database, things can get messy pretty fast. It would be nice if pgsql
had a 'default library location' which it tried to load linking
libraries from, in much the same way apache uses libexec. Then my
definition could just be:

create function geometry_in(opaque)
RETURNS GEOMETRY
   AS 'libpostgis.so.0.7'
   LANGUAGE 'c' with (isstrict);

Which would be alot more portable across installations. I mean, right
now I can render my database inoperative just by moving my executable
installation tree to a new path. Nice.

-- 
  __
 /
 | Paul Ramsey
 | Refractions Research
 | Email: [EMAIL PROTECTED]
 | Phone: (250) 885-0632
 \_

---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [HACKERS] cvs checkout pgsql

2002-08-01 Thread Vince Vielhaber

On 1 Aug 2002, Rod Taylor wrote:

 On Thu, 2002-08-01 at 15:33, Vince Vielhaber wrote:
  On Thu, 1 Aug 2002, Tom Lane wrote:
 
   Marc G. Fournier [EMAIL PROTECTED] writes:
... is once more 'normal' ...
  
   Uh, it's completely broken as far as I can tell.
  
   $ pwd
   /home/postgres/pgsql/src/bin/pg_dump
   $ cvs status
   cvs server: Examining .
   cvs server: failed to create lock directory for `/cvsroot/pgsql/src/bin/pg_dump'
(/cvsroot/pgsql/src/bin/pg_dump/#cvs.lock): No such file or directory
   cvs server: failed to obtain dir lock in repository 
`/cvsroot/pgsql/src/bin/pg_dump'
   cvs [server aborted]: read lock failed - giving up
   $
  
   Also, http://developer.postgresql.org/cvsweb.cgi/pgsql/ isn't working.
  
   This makes it a little difficult to get any work done :-(
 
  What'r you typin about?  It works fine.   Ok, ok.. It does *NOW*. :)
  There's probably still stuff that's broke that I haven't discovered
  yet.

 Well, of course that specific URL doesn't work  because it's actually
 pgsql-server.

But the developer's web page is updated with the new info.

Vince.
-- 
==
Vince Vielhaber -- KA8CSHemail: [EMAIL PROTECTED]http://www.pop4.net
 56K Nationwide Dialup from $16.00/mo at Pop4 Networking
Online Campground Directoryhttp://www.camping-usa.com
   Online Giftshop Superstorehttp://www.cloudninegifts.com
==




---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] cvs checkout pgsql

2002-08-01 Thread Marc G. Fournier

On Thu, 1 Aug 2002, Tom Lane wrote:

 Rod Taylor [EMAIL PROTECTED] writes:
  Also, http://developer.postgresql.org/cvsweb.cgi/pgsql/ isn't working.
 
  What'r you typin about?  It works fine.   Ok, ok.. It does *NOW*. :)

  Well, of course that specific URL doesn't work  because it's actually
  pgsql-server.

 Well, it did work before, and I'd really like it to work again.  I do
 not want to think about how Marc's broken apart the distribution when
 I'm looking at my local tree, and I don't want to think about it when
 I'm looking at cvsweb either.

You don't have to think about anything ... god, does *nobody* read what
they are replying to??

if you do a cvs checkout of pgsql, you will get exactly what you are used
to ... you can update, commit, look at status, look at logs, etc ... cvs
itself is setup to handle pulling in and placing the required modules when
you do the checkout of pgsql ...

I could move docs into $CVSROOT/this/is/a/stupid/directory/structure/docs
and except for the fact that you already have a copy checked out pointing
to the old path, a fresh checkout would still place that in pgsql/docs,
where you've grown used to it being ...




---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] CVS server problem!

2002-08-01 Thread Greg Copeland

Seems the CVS server is not working correctly.  I just deleted my CVS
tree and did a fresh checkout of the pgsql module.  Everything seemingly
went well.  After the check out completed, I did:

[gcope@mouse pgsql]$ ./configure --with-tcl --with-java --with-python
--with-perl 
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking which template to use... linux
checking whether to build with 64-bit integer date/time support... no
checking whether to build with recode support... no
checking whether NLS is wanted... no
checking for default port number... 5432
checking for default soft limit on number of connections... 32
checking for gcc... gcc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
./configure: ./src/template/linux: No such file or directory

So, I did, ./configure which yields the same result.  So, thinking
maybe I just had a poorly timed checkout, I did an update.  Doing so,
looks like this:
[gcope@mouse pgsql]$ cvs -z3 update -dP
? config.log
cvs server: Updating .
cvs server: Updating ChangeLogs
cvs server: Updating MIGRATION
cvs server: Updating config
.
.
.
src/backend/utils/mb/conversion_procs/utf8_and_iso8859_1
cvs server: Updating
src/backend/utils/mb/conversion_procs/utf8_and_johab
cvs server: Updating src/backend/utils/mb/conversion_procs/utf8_and_sjis
cvs server: cannot open directory
/projects/cvsroot/pgsql/src/backend/utils/mb/conversion_procs/utf8_and_sjis: No such 
file or directory
cvs server: skipping directory
src/backend/utils/mb/conversion_procs/utf8_and_sjis
cvs server: Updating src/backend/utils/mb/conversion_procs/utf8_and_tcvn
cvs server: cannot open directory
/projects/cvsroot/pgsql/src/backend/utils/mb/conversion_procs/utf8_and_tcvn: No such 
file or directory
cvs server: skipping directory
src/backend/utils/mb/conversion_procs/utf8_and_tcvn
cvs server: Updating src/backend/utils/mb/conversion_procs/utf8_and_uhc
cvs server: cannot open directory
/projects/cvsroot/pgsql/src/backend/utils/mb/conversion_procs/utf8_and_uhc: No such 
file or directory
cvs server: skipping directory
src/backend/utils/mb/conversion_procs/utf8_and_uhc
cvs server: Updating src/backend/utils/misc
cvs server: cannot open directory
/projects/cvsroot/pgsql/src/backend/utils/misc: No such file or
directory
cvs server: skipping directory src/backend/utils/misc
cvs server: Updating src/backend/utils/mmgr
cvs server: cannot open directory
/projects/cvsroot/pgsql/src/backend/utils/mmgr: No such file or
directory
cvs server: skipping directory src/backend/utils/mmgr
cvs server: Updating src/backend/utils/sort
cvs server: cannot open directory
/projects/cvsroot/pgsql/src/backend/utils/sort: No such file or
directory
cvs server: skipping directory src/backend/utils/sort
cvs server: Updating src/backend/utils/time
cvs server: cannot open directory
/projects/cvsroot/pgsql/src/backend/utils/time: No such file or
directory
cvs server: skipping directory src/backend/utils/time
cvs server: Updating src/bin
cvs server: cannot open directory /projects/cvsroot/pgsql/src/bin: No
such file or directory
cvs server: skipping directory src/bin


So, I'm fairly sure something is awry.

Greg


On Mon, 2002-07-29 at 20:51, Tatsuo Ishii wrote:
 Can anyone fix this?
 
 $ cvs up
 can't create temporary directory /tmp/cvs-serv40296
 No space left on device
 --
 Tatsuo Ishii
 
 ---(end of broadcast)---
 TIP 6: Have you searched our list archives?
 
 http://archives.postgresql.org




signature.asc
Description: This is a digitally signed message part


Re: [HACKERS] Trimming the Fat, Part Deux ...

2002-08-01 Thread Nigel J. Andrews



Someone said earlier cvsup would have problems but the anonymous cvs would work
fine. 

Well I've just had a weirdness reconfiguring and rebuilding my few weeks old
7.3dev tree and so deleted it and tried using the anoncvs to get pgsql. Running
configure gives me the error:

./configure: ./src/template/linux: No such file or directory

and all ./src contains is:

total 44
drwxr-xr-x2 software software 4096 Aug  1 23:27 CVS
-rw-r--r--1 software software  119 Jul 30  1999 DEVELOPERS
-rw-r--r--1 software software 1039 Jul 30 18:47 Makefile
-rw-r--r--1 software software13288 Jul 27 21:10 Makefile.global.in
-rw-r--r--1 software software10853 Jul 27 21:10 Makefile.shlib
drwxr-xr-x   23 software software 4096 Aug  1 23:27 backend



-- 
Nigel J. Andrews
Director

---
Logictree Systems Limited
Computer Consultants


---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] cvs checkout pgsql

2002-08-01 Thread Greg Copeland

Looks like I replied to the wrong thread...here's a repeat...

Seems the CVS server is not working correctly.  I just deleted my CVS
tree and did a fresh checkout of the pgsql module.  Everything seemingly
went well.  After the check out completed, I did:

[gcope@mouse pgsql]$ ./configure --with-tcl --with-java --with-python
--with-perl 
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking which template to use... linux
checking whether to build with 64-bit integer date/time support... no
checking whether to build with recode support... no
checking whether NLS is wanted... no
checking for default port number... 5432
checking for default soft limit on number of connections... 32
checking for gcc... gcc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
./configure: ./src/template/linux: No such file or directory

So, I did, ./configure which yields the same result.  So, thinking
maybe I just had a poorly timed checkout, I did an update.  Doing so,
looks like this:
[gcope@mouse pgsql]$ cvs -z3 update -dP
? config.log
cvs server: Updating .
cvs server: Updating ChangeLogs
cvs server: Updating MIGRATION
cvs server: Updating config
.
.
.
src/backend/utils/mb/conversion_procs/utf8_and_iso8859_1
cvs server: Updating
src/backend/utils/mb/conversion_procs/utf8_and_johab
cvs server: Updating src/backend/utils/mb/conversion_procs/utf8_and_sjis
cvs server: cannot open directory
/projects/cvsroot/pgsql/src/backend/utils/mb/conversion_procs/utf8_and_sjis: No such 
file or directory
cvs server: skipping directory
src/backend/utils/mb/conversion_procs/utf8_and_sjis
cvs server: Updating src/backend/utils/mb/conversion_procs/utf8_and_tcvn
cvs server: cannot open directory
/projects/cvsroot/pgsql/src/backend/utils/mb/conversion_procs/utf8_and_tcvn: No such 
file or directory
cvs server: skipping directory
src/backend/utils/mb/conversion_procs/utf8_and_tcvn
cvs server: Updating src/backend/utils/mb/conversion_procs/utf8_and_uhc
cvs server: cannot open directory
/projects/cvsroot/pgsql/src/backend/utils/mb/conversion_procs/utf8_and_uhc: No such 
file or directory
cvs server: skipping directory
src/backend/utils/mb/conversion_procs/utf8_and_uhc
cvs server: Updating src/backend/utils/misc
cvs server: cannot open directory
/projects/cvsroot/pgsql/src/backend/utils/misc: No such file or
directory
cvs server: skipping directory src/backend/utils/misc
cvs server: Updating src/backend/utils/mmgr
cvs server: cannot open directory
/projects/cvsroot/pgsql/src/backend/utils/mmgr: No such file or
directory
cvs server: skipping directory src/backend/utils/mmgr
cvs server: Updating src/backend/utils/sort
cvs server: cannot open directory
/projects/cvsroot/pgsql/src/backend/utils/sort: No such file or
directory
cvs server: skipping directory src/backend/utils/sort
cvs server: Updating src/backend/utils/time
cvs server: cannot open directory
/projects/cvsroot/pgsql/src/backend/utils/time: No such file or
directory
cvs server: skipping directory src/backend/utils/time
cvs server: Updating src/bin
cvs server: cannot open directory /projects/cvsroot/pgsql/src/bin: No
such file or directory
cvs server: skipping directory src/bin


So, I'm fairly sure something is awry.

Greg

Unrelated quote:
 I could move docs into $CVSROOT/this/is/a/stupid/directory/structure/docs
 and except for the fact that you already have a copy checked out pointing
 to the old path, a fresh checkout would still place that in pgsql/docs,
 where you've grown used to it being ...
 

You do realize that by moving modules outside of the base project,
you're forcing more work for the masses.  That is, if you plan to have
/doc, /pgsql-server, /contrib, etc, people will now have to create a new
.../pgsql directory locally which means, locally, people will have
.../pgsql/pgsql-server, .../pgsql/contrib, etc...why force onto the
developer what CVS should already be doing it.  I don't know about you
guys, but when I check out pgsql, I certainly expect everything to be
there.  If that's not what I want, then I should be more explicate in
what I pick for checkout.

Just some food for thought...this is a common peeve of mine when people
decide they need to restructure their repository...seems like this is
always done and almost always a poor choice that isn't realized until
it's all done and over with.

Greg





signature.asc
Description: This is a digitally signed message part


Re: [HACKERS] CVS server problem!

2002-08-01 Thread Marc G. Fournier


Should be fixed now ... I found a rsync.core file, so it looks like the
changes may have been more extensive then rsync could handle ... just ran
it manually (or, rather, am running as I type this), so by the time you
receive, a checkout should grab the right structures ...

Let me know if it works now for you ...


On 1 Aug 2002, Greg Copeland wrote:

 Seems the CVS server is not working correctly.  I just deleted my CVS
 tree and did a fresh checkout of the pgsql module.  Everything seemingly
 went well.  After the check out completed, I did:

 [gcope@mouse pgsql]$ ./configure --with-tcl --with-java --with-python
 --with-perl
 checking build system type... i686-pc-linux-gnu
 checking host system type... i686-pc-linux-gnu
 checking which template to use... linux
 checking whether to build with 64-bit integer date/time support... no
 checking whether to build with recode support... no
 checking whether NLS is wanted... no
 checking for default port number... 5432
 checking for default soft limit on number of connections... 32
 checking for gcc... gcc
 checking for C compiler default output... a.out
 checking whether the C compiler works... yes
 checking whether we are cross compiling... no
 checking for suffix of executables...
 checking for suffix of object files... o
 checking whether we are using the GNU C compiler... yes
 checking whether gcc accepts -g... yes
 ./configure: ./src/template/linux: No such file or directory

 So, I did, ./configure which yields the same result.  So, thinking
 maybe I just had a poorly timed checkout, I did an update.  Doing so,
 looks like this:
 [gcope@mouse pgsql]$ cvs -z3 update -dP
 ? config.log
 cvs server: Updating .
 cvs server: Updating ChangeLogs
 cvs server: Updating MIGRATION
 cvs server: Updating config
 .
 .
 .
 src/backend/utils/mb/conversion_procs/utf8_and_iso8859_1
 cvs server: Updating
 src/backend/utils/mb/conversion_procs/utf8_and_johab
 cvs server: Updating src/backend/utils/mb/conversion_procs/utf8_and_sjis
 cvs server: cannot open directory
 /projects/cvsroot/pgsql/src/backend/utils/mb/conversion_procs/utf8_and_sjis: No such 
file or directory
 cvs server: skipping directory
 src/backend/utils/mb/conversion_procs/utf8_and_sjis
 cvs server: Updating src/backend/utils/mb/conversion_procs/utf8_and_tcvn
 cvs server: cannot open directory
 /projects/cvsroot/pgsql/src/backend/utils/mb/conversion_procs/utf8_and_tcvn: No such 
file or directory
 cvs server: skipping directory
 src/backend/utils/mb/conversion_procs/utf8_and_tcvn
 cvs server: Updating src/backend/utils/mb/conversion_procs/utf8_and_uhc
 cvs server: cannot open directory
 /projects/cvsroot/pgsql/src/backend/utils/mb/conversion_procs/utf8_and_uhc: No such 
file or directory
 cvs server: skipping directory
 src/backend/utils/mb/conversion_procs/utf8_and_uhc
 cvs server: Updating src/backend/utils/misc
 cvs server: cannot open directory
 /projects/cvsroot/pgsql/src/backend/utils/misc: No such file or
 directory
 cvs server: skipping directory src/backend/utils/misc
 cvs server: Updating src/backend/utils/mmgr
 cvs server: cannot open directory
 /projects/cvsroot/pgsql/src/backend/utils/mmgr: No such file or
 directory
 cvs server: skipping directory src/backend/utils/mmgr
 cvs server: Updating src/backend/utils/sort
 cvs server: cannot open directory
 /projects/cvsroot/pgsql/src/backend/utils/sort: No such file or
 directory
 cvs server: skipping directory src/backend/utils/sort
 cvs server: Updating src/backend/utils/time
 cvs server: cannot open directory
 /projects/cvsroot/pgsql/src/backend/utils/time: No such file or
 directory
 cvs server: skipping directory src/backend/utils/time
 cvs server: Updating src/bin
 cvs server: cannot open directory /projects/cvsroot/pgsql/src/bin: No
 such file or directory
 cvs server: skipping directory src/bin


 So, I'm fairly sure something is awry.

 Greg


 On Mon, 2002-07-29 at 20:51, Tatsuo Ishii wrote:
  Can anyone fix this?
 
  $ cvs up
  can't create temporary directory /tmp/cvs-serv40296
  No space left on device
  --
  Tatsuo Ishii
 
  ---(end of broadcast)---
  TIP 6: Have you searched our list archives?
 
  http://archives.postgresql.org




---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [HACKERS] Rules and Views

2002-08-01 Thread Tom Lane

Stephan Szabo [EMAIL PROTECTED] writes:
 For union, queries that want to do something like use a temporary
 sequence to act sort of like rownum and do row limiting.  Admittedly
 that's already pretty much unspecified behavior, but it does change
 the behavior in the place of duplicate removal.  In addition, I think
 using bits of the spec we don't completely support you can have the
 same issue with the undefined behavior of which duplicate is returned
 for values that aren't the same but are equal, for example where the
 duplicate removal is in one collation but the outer comparison has
 a different explicitly given one.

Hmm.  I think this consideration boils down to whether the WHERE clause
can give different results for rows that appear equal under the rules of
UNION/EXCEPT/INTERSECT.  If it gives the same result for any two such
rows, then it's safe to push down; otherwise not.

It's not too difficult to come up with examples.  I invite you to play
with

select z,length(z) from
(select 'abc'::char(7) as z intersect
select 'abc'::char(8) as z) ss;

and contemplate the effects of pushing down a qual involving length(z).

Whether this particular case is very important in the real world is hard
to say.  But there might be more-important cases out there.

And yet, I think we can do it anyway.  The score card looks like this to
me:

UNION ALL: always safe to push down, since the rows will be passed
independently to the outer WHERE anyway.

UNION: it's unspecified which of a set of equal rows will be returned,
and therefore the behavior would be unspecified anyway if the outer
WHERE can distinguish the rows - you might get 1 row of the set out or
none.  If we push down, then we create a situation where the returned
row will always be one that passes the outer WHERE, but that is a legal
behavior.

INTERSECT: again it's unspecified which of a set of equal rows will be
returned, and so you might get 1 row out or none.  If we push down then
it's still unspecified whether you get a row out (example: if the outer
WHERE will pass only for rows of the left table and not the right, then
push down will result in no rows of the equal set being emitted, but
that's a legal behavior).

INTERSECT ALL: if a set of equal rows contains M rows from the left
table and N from the right table, you're supposed to get min(M,N) rows
of the set out of the INTERSECT ALL.  Again you can't say which of the
set you will get, so the outer WHERE might let anywhere between 0 and
min(M,N) rows out.  With push down, M and N will be reduced by the WHERE
before we do the intersection, so you still have 0 to min(M,N) rows out.
The behavior will change, but it's still legal per spec AFAICT.

EXCEPT, EXCEPT ALL: the same sort of analysis seems to hold.

In short, it looks to me like the spec was carefully designed to allow
push down.  Pushing down a condition of this sort *does* change the
behavior, but the new behavior is still within spec.

The above analysis assumes that the WHERE condition is stable, ie its
results for a row don't depend on the order in which the rows are tested
or anything as weird as that.  But we're assuming that already when we
push down a qual in a non-set-operation case, I think.

Comments?  Are there any other considerations to worry about?

regards, tom lane

---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [HACKERS] Rules and Views

2002-08-01 Thread Stephan Szabo


On Thu, 1 Aug 2002, Tom Lane wrote:

 Stephan Szabo [EMAIL PROTECTED] writes:
  For union, queries that want to do something like use a temporary
  sequence to act sort of like rownum and do row limiting.  Admittedly
  that's already pretty much unspecified behavior, but it does change
  the behavior in the place of duplicate removal.  In addition, I think
  using bits of the spec we don't completely support you can have the
  same issue with the undefined behavior of which duplicate is returned
  for values that aren't the same but are equal, for example where the
  duplicate removal is in one collation but the outer comparison has
  a different explicitly given one.

 Hmm.  I think this consideration boils down to whether the WHERE clause
 can give different results for rows that appear equal under the rules of
 UNION/EXCEPT/INTERSECT.  If it gives the same result for any two such
 rows, then it's safe to push down; otherwise not.

 It's not too difficult to come up with examples.  I invite you to play
 with

 select z,length(z) from
 (select 'abc'::char(7) as z intersect
 select 'abc'::char(8) as z) ss;

 and contemplate the effects of pushing down a qual involving length(z).

 Whether this particular case is very important in the real world is hard
 to say.  But there might be more-important cases out there.

 And yet, I think we can do it anyway.  The score card looks like this to
 me:

 UNION ALL: always safe to push down, since the rows will be passed
 independently to the outer WHERE anyway.

 UNION: it's unspecified which of a set of equal rows will be returned,
 and therefore the behavior would be unspecified anyway if the outer
 WHERE can distinguish the rows - you might get 1 row of the set out or
 none.  If we push down, then we create a situation where the returned
 row will always be one that passes the outer WHERE, but that is a legal
 behavior.

 INTERSECT: again it's unspecified which of a set of equal rows will be
 returned, and so you might get 1 row out or none.  If we push down then
 it's still unspecified whether you get a row out (example: if the outer
 WHERE will pass only for rows of the left table and not the right, then
 push down will result in no rows of the equal set being emitted, but
 that's a legal behavior).

 INTERSECT ALL: if a set of equal rows contains M rows from the left
 table and N from the right table, you're supposed to get min(M,N) rows
 of the set out of the INTERSECT ALL.  Again you can't say which of the
 set you will get, so the outer WHERE might let anywhere between 0 and
 min(M,N) rows out.  With push down, M and N will be reduced by the WHERE
 before we do the intersection, so you still have 0 to min(M,N) rows out.
 The behavior will change, but it's still legal per spec AFAICT.


 EXCEPT, EXCEPT ALL: the same sort of analysis seems to hold.

Actually I think in except you may only push down to the left, since in
this case you know that any duplicate from the right will not be
returned (since there must be none).  So, you can't potentially drop
a row from the right side that may have been a duplicate of a left
side row that does match the condition.

If we assume two collations one case sensitive one not with the
except in the non-sensitive and the where in the sensitive and
a left with 'A' and right with 'a', it'd be incorrect to push a
case sensitive where foo='A' down to the right since that'd change the
output from zero rows to one.

Something similar for except all since lowering the number of rows
on the right can increase the number of returned rows above
m-n (if say all m dups match the condition and none of n do)


 The above analysis assumes that the WHERE condition is stable, ie its
 results for a row don't depend on the order in which the rows are tested
 or anything as weird as that.  But we're assuming that already when we
 push down a qual in a non-set-operation case, I think.

In which case we don't have to worry about the nextval() case.


---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



Re: [HACKERS] Open 7.3 items

2002-08-01 Thread Bruce Momjian

Jean-Michel POURE wrote:
 Le Mercredi 31 Juillet 2002 05:50, Bruce Momjian a ?crit :
  Here are the open items for 7.3.  We have one more month to address them
  before beta.
 
 Is CREATE OR REPLACE VIEW on the list?

No.  It can still be done, but no one is working on it.

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 853-3000
  +  If your life is a hard drive, |  830 Blythe Avenue
  +  Christ can be your backup.|  Drexel Hill, Pennsylvania 19026

---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [HACKERS] CVS server problem!

2002-08-01 Thread Greg Copeland

Yes, it's compiling now...thanks.

Greg

On Thu, 2002-08-01 at 18:31, Marc G. Fournier wrote:
 
 Should be fixed now ... I found a rsync.core file, so it looks like the
 changes may have been more extensive then rsync could handle ... just ran
 it manually (or, rather, am running as I type this), so by the time you
 receive, a checkout should grab the right structures ...
 
 Let me know if it works now for you ...
 
 
 On 1 Aug 2002, Greg Copeland wrote:
 
  Seems the CVS server is not working correctly.  I just deleted my CVS
  tree and did a fresh checkout of the pgsql module.  Everything seemingly
  went well.  After the check out completed, I did:
 
  [gcope@mouse pgsql]$ ./configure --with-tcl --with-java --with-python
  --with-perl
  checking build system type... i686-pc-linux-gnu
  checking host system type... i686-pc-linux-gnu
  checking which template to use... linux
  checking whether to build with 64-bit integer date/time support... no
  checking whether to build with recode support... no
  checking whether NLS is wanted... no
  checking for default port number... 5432
  checking for default soft limit on number of connections... 32
  checking for gcc... gcc
  checking for C compiler default output... a.out
  checking whether the C compiler works... yes
  checking whether we are cross compiling... no
  checking for suffix of executables...
  checking for suffix of object files... o
  checking whether we are using the GNU C compiler... yes
  checking whether gcc accepts -g... yes
  ./configure: ./src/template/linux: No such file or directory
 
  So, I did, ./configure which yields the same result.  So, thinking
  maybe I just had a poorly timed checkout, I did an update.  Doing so,
  looks like this:
  [gcope@mouse pgsql]$ cvs -z3 update -dP
  ? config.log
  cvs server: Updating .
  cvs server: Updating ChangeLogs
  cvs server: Updating MIGRATION
  cvs server: Updating config
  .
  .
  .
  src/backend/utils/mb/conversion_procs/utf8_and_iso8859_1
  cvs server: Updating
  src/backend/utils/mb/conversion_procs/utf8_and_johab
  cvs server: Updating src/backend/utils/mb/conversion_procs/utf8_and_sjis
  cvs server: cannot open directory
  /projects/cvsroot/pgsql/src/backend/utils/mb/conversion_procs/utf8_and_sjis: No 
such file or directory
  cvs server: skipping directory
  src/backend/utils/mb/conversion_procs/utf8_and_sjis
  cvs server: Updating src/backend/utils/mb/conversion_procs/utf8_and_tcvn
  cvs server: cannot open directory
  /projects/cvsroot/pgsql/src/backend/utils/mb/conversion_procs/utf8_and_tcvn: No 
such file or directory
  cvs server: skipping directory
  src/backend/utils/mb/conversion_procs/utf8_and_tcvn
  cvs server: Updating src/backend/utils/mb/conversion_procs/utf8_and_uhc
  cvs server: cannot open directory
  /projects/cvsroot/pgsql/src/backend/utils/mb/conversion_procs/utf8_and_uhc: No 
such file or directory
  cvs server: skipping directory
  src/backend/utils/mb/conversion_procs/utf8_and_uhc
  cvs server: Updating src/backend/utils/misc
  cvs server: cannot open directory
  /projects/cvsroot/pgsql/src/backend/utils/misc: No such file or
  directory
  cvs server: skipping directory src/backend/utils/misc
  cvs server: Updating src/backend/utils/mmgr
  cvs server: cannot open directory
  /projects/cvsroot/pgsql/src/backend/utils/mmgr: No such file or
  directory
  cvs server: skipping directory src/backend/utils/mmgr
  cvs server: Updating src/backend/utils/sort
  cvs server: cannot open directory
  /projects/cvsroot/pgsql/src/backend/utils/sort: No such file or
  directory
  cvs server: skipping directory src/backend/utils/sort
  cvs server: Updating src/backend/utils/time
  cvs server: cannot open directory
  /projects/cvsroot/pgsql/src/backend/utils/time: No such file or
  directory
  cvs server: skipping directory src/backend/utils/time
  cvs server: Updating src/bin
  cvs server: cannot open directory /projects/cvsroot/pgsql/src/bin: No
  such file or directory
  cvs server: skipping directory src/bin
 
 
  So, I'm fairly sure something is awry.
 
  Greg
 
 
  On Mon, 2002-07-29 at 20:51, Tatsuo Ishii wrote:
   Can anyone fix this?
  
   $ cvs up
   can't create temporary directory /tmp/cvs-serv40296
   No space left on device
   --
   Tatsuo Ishii
  
   ---(end of broadcast)---
   TIP 6: Have you searched our list archives?
  
   http://archives.postgresql.org
 
 
 
 
 ---(end of broadcast)---
 TIP 4: Don't 'kill -9' the postmaster




signature.asc
Description: This is a digitally signed message part


Re: [HACKERS] cvs checkout pgsql

2002-08-01 Thread Tom Lane

Marc G. Fournier [EMAIL PROTECTED] writes:
 Well, it did work before, and I'd really like it to work again.  I do
 not want to think about how Marc's broken apart the distribution when
 I'm looking at my local tree, and I don't want to think about it when
 I'm looking at cvsweb either.

 You don't have to think about anything ... god, does *nobody* read what
 they are replying to??

 if you do a cvs checkout of pgsql, you will get exactly what you are used
 to ...

Yes, I did a re-checkout, remerge of the rather large patch I'm working
on, rebuild, etc.  I've more or less recovered here, after wasting an
hour or two that I had other uses for.  But cvsweb is still broken:
there is AFAICT no page that presents a unified view of the CVS tree
anymore.  If it's merely moved, how about telling me where?

I quite concur with Peter's remarks: some discussion of this sort of
change would have been appropriate in advance, rather than after.

regards, tom lane

---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [HACKERS] Rules and Views

2002-08-01 Thread Tom Lane

Stephan Szabo [EMAIL PROTECTED] writes:
 Actually I think in except you may only push down to the left, since in
 this case you know that any duplicate from the right will not be
 returned (since there must be none).  So, you can't potentially drop
 a row from the right side that may have been a duplicate of a left
 side row that does match the condition.

But we *want* to push down --- the point is to get some selectivity
into the bottom queries.  You're right that in a plain EXCEPT it would
be possible to push only to the left, but that doesn't give the
performance improvement we want.

 If we assume two collations one case sensitive one not with the
 except in the non-sensitive and the where in the sensitive and
 a left with 'A' and right with 'a', it'd be incorrect to push a
 case sensitive where foo='A' down to the right since that'd change the
 output from zero rows to one.

You missed my point.  Per spec, either zero or one rows out of the whole
thing is okay, because either the 'A' or the 'a' row might be returned
as the representative row for the group by the EXCEPT.  Yes, the
behavior may change, but it's still within spec.

 In which case we don't have to worry about the nextval() case.

Yeah, I think nextval() and random() and so forth can be ignored;
the transformations we already do will confuse the results for such
cases, so one more isn't gonna make it worse.

regards, tom lane

---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



Re: [HACKERS] Trimming the Fat: Getting code via CVSup ...

2002-08-01 Thread Neil Conway

On Thu, Aug 01, 2002 at 12:56:11AM -0300, Marc G. Fournier wrote:
 I've just updated the README.cvsup file in order to reflect the changes,
 to provide a sample of how to download the whole thing, as well as
 instructions on how to do just a particular module:

I'm using the following cvsup file, and the 'pgsql' module is empty
(i.e. contains zero files):

*default host=mcvsup.postgresql.org
*default compress
*default delete
*default release=cvs
*default delete use-rel-suffix
*default base=/mnt/vol2/cvsup/pgsql

*default prefix=/var/lib/cvs
pgsql
*default prefix=/var/lib/cvs/pgsql/src/interfaces
libpqxx
*default prefix=/var/lib/cvs/pgsql/contrib
earthdistance

Replacing 'pgsql' with 'pgsql-server' yields a 'no such module' warning
message and the module is skipped.

Cheers,

Neil

-- 
Neil Conway [EMAIL PROTECTED]
PGP Key ID: DB3C29FC

---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



Re: [HACKERS] Open 7.3 items

2002-08-01 Thread Lamar Owen

On Wednesday 31 July 2002 04:56 pm, Bruce Momjian wrote:
 Thomas Lockhart wrote:
 Tom Lane wrote:
   I agree that if we could quickly come to a resolution about how this
   ought to work, there's plenty of time to go off and implement it.

  afaict someone else volunteered to do the work. There is no lack of
  consensus that this is a useful feature, at least among those who take
  responsibility to package PostgreSQL for particular platforms. How about
  letting them specify the requirements and if an acceptable solution
  emerges soon, we'll have it for 7.3...

 Added to open items:

   allow specification of configuration files in a different directory

Thanks Bruce.

I am going to review the previous thread and attempt to distill what can be 
done.  I will then post a summary of what I found, with potential commentary. 
If a consensus is reached, I'd like to see the feature in 7.3.

Peter had mentioned it as well; might want to see if he has done anything as 
yet with it.

That being said, a patch exists for 7.2beta to effect a version of this 
change.  I will also review this patch as I can and see what will be required 
to make this work in CURRENT.

IMO, the key is that if the switch is not specified the current behavior is 
default.  If specified, it will do its thing.
-- 
Lamar Owen
WGCR Internet Radio
1 Peter 4:11

---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [HACKERS] Rules and Views

2002-08-01 Thread Hannu Krosing

On Thu, 2002-08-01 at 18:02, Tom Lane wrote:
 Stephan Szabo [EMAIL PROTECTED] writes:
  For union, queries that want to do something like use a temporary
  sequence to act sort of like rownum and do row limiting.  Admittedly
  that's already pretty much unspecified behavior, but it does change
  the behavior in the place of duplicate removal.  In addition, I think
  using bits of the spec we don't completely support you can have the
  same issue with the undefined behavior of which duplicate is returned
  for values that aren't the same but are equal, for example where the
  duplicate removal is in one collation but the outer comparison has
  a different explicitly given one.
 
 Hmm.  I think this consideration boils down to whether the WHERE clause
 can give different results for rows that appear equal under the rules of
 UNION/EXCEPT/INTERSECT.

Yes. I originally started to ponder this when trying to draw up a plan
for automatic generation of ON UPDATE DO INSTEAD rules for views. While
pushing down the WHERE clause is just a performance thing for SELECT it
is essential for ON UPDATE rules.

 If it gives the same result for any two such
 rows, then it's safe to push down; otherwise not.
 
 It's not too difficult to come up with examples.  I invite you to play
 with
 
 select z,length(z) from
 (select 'abc'::char(7) as z intersect
 select 'abc'::char(8) as z) ss;
 
 and contemplate the effects of pushing down a qual involving length(z).

I guess the pushdown must also push implicit conversions done to parts
of union.

if that conversion were applied to z's in both parts of UNION then the
result should be the same.


select z,length(z) from
 (
  select 'abc'::char(7) as z
  union
  select 'abc   '::char(8) as z
 ) ss where length(z) = 7;

becomes:

select z,length(z) from
 (
  select 'abc'::char(7) as z
   where length(cast('abc'::char(7) as char(7))) = 7
  union
  select 'abc   '::char(8) as z
   where length(cast('abc   '::char(8) as char(7))) = 7
 ) ss ;

which both return 'abc', 7

Of course it is beneficial to detect when the conversion is not needed,
so that indexes will be used if available. 

---
Hannu


---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



Re: [HACKERS] Trimming the Fat: Getting code via CVSup ...

2002-08-01 Thread Marc G. Fournier


Try now ... the download isn't going to work right though, as CVSup
doesn't honor the modules file in CVSROOT which defines how 'pgsql' is
*supposed* to work ... I'm going to work on this later tonight and see if
I can find something in the docs that will allow it to work properly, but
right now, other then gettin gat the sub-modules themselves, CVSup is
broken ... anon-cvs will fair you better ...


On Thu, 1 Aug 2002, Neil Conway wrote:

 On Thu, Aug 01, 2002 at 12:56:11AM -0300, Marc G. Fournier wrote:
  I've just updated the README.cvsup file in order to reflect the changes,
  to provide a sample of how to download the whole thing, as well as
  instructions on how to do just a particular module:

 I'm using the following cvsup file, and the 'pgsql' module is empty
 (i.e. contains zero files):

 *default host=mcvsup.postgresql.org
 *default compress
 *default delete
 *default release=cvs
 *default delete use-rel-suffix
 *default base=/mnt/vol2/cvsup/pgsql

 *default prefix=/var/lib/cvs
 pgsql
 *default prefix=/var/lib/cvs/pgsql/src/interfaces
 libpqxx
 *default prefix=/var/lib/cvs/pgsql/contrib
 earthdistance

 Replacing 'pgsql' with 'pgsql-server' yields a 'no such module' warning
 message and the module is skipped.

 Cheers,

 Neil

 --
 Neil Conway [EMAIL PROTECTED]
 PGP Key ID: DB3C29FC



---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] Rules and Views

2002-08-01 Thread Stephan Szabo

On Thu, 1 Aug 2002, Tom Lane wrote:

 Stephan Szabo [EMAIL PROTECTED] writes:

  If we assume two collations one case sensitive one not with the
  except in the non-sensitive and the where in the sensitive and
  a left with 'A' and right with 'a', it'd be incorrect to push a
  case sensitive where foo='A' down to the right since that'd change the
  output from zero rows to one.

 You missed my point.  Per spec, either zero or one rows out of the whole
 thing is okay, because either the 'A' or the 'a' row might be returned
 as the representative row for the group by the EXCEPT.  Yes, the
 behavior may change, but it's still within spec.

Except can't return 'A' or 'a', there is no representative row because
n0. That's the difference with UNION and INTERSECT.

If EXCEPT is specified, then
 Case:
  A) If m0 and n=0, then T contains exactly one duplicate of R.
  B) Otherwise, T contains no duplicate of R.

So if T1 has a #dups0 and T2 has a #dups0 we should get
no rows, but what if T1' (with the clause) has a #dups0 but
T2' has a #dups=0?



---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [HACKERS] Open 7.3 items

2002-08-01 Thread Bruce Momjian

Tom Lane wrote:
 Hannu Krosing [EMAIL PROTECTED] writes:
  This name mangling should be done at connect time and kept out of
  database, where each users name should always be fully resolved
  ([EMAIL PROTECTED]). 
 
 I really like Hannu's approach to this.  It seems to solve Marc's
 problem with a very simple, easily understood, easily implemented
 feature.  All we need is a postmaster configuration parameter that
 (when TRUE) causes the postmaster to convert the passed username
 into 'username@databasename' before looking it up in pg_shadow.

Yes, that is how the patch I submitted last night does it.

 (Actually, what I'd prefer it do is try first for username, and
 then username@databasename if plain username isn't found.)

Yes, that would be very easy to do _except_ for pg_hba.conf which does a
first-match for username.  We could get into trouble there by trying two
versions of the same name.  Comments?

 With this approach, we have an underlying mechanism that supports
 installation-wide usernames, same as before, but with the flip of
 a switch you can configure the system to support per-database
 usernames.  It's not fancy, maybe, but it will get the job done
 with an appropriate amount of effort.
 
 We've had several proposals in this thread for complicated extensions
 to the user naming mechanism.  I think that's overdesigning the feature,
 because we have *no* examples of real-world need for such things except
 for Marc's situation.  Let's keep it simple until we see real use cases
 that can drive the design of something fancy.

Agreed.

 
  This may require raising the length of NAME type to be backwards
  compatible.
 
 Right, but we're planning to do that anyway.

Yes, but that requires a protocol change, which we don't want to do for
7.3.  My fix is to just extend the username on the server side and
append the dbname if the switch is on.

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 853-3000
  +  If your life is a hard drive, |  830 Blythe Avenue
  +  Christ can be your backup.|  Drexel Hill, Pennsylvania 19026

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] Trimming the Fat, Part Deux ...

2002-08-01 Thread Bruce Momjian

Lamar Owen wrote:
 And the sooner our very old perl client goes away, the better I like it.  It 
 is a good client, don't get me wrong: but DBD:Pg is the standard now.

I have been in contact with Edmund about moving DBD into our CVS and
updating CPAN ourselves.  Should have a final answer soon.

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 853-3000
  +  If your life is a hard drive, |  830 Blythe Avenue
  +  Christ can be your backup.|  Drexel Hill, Pennsylvania 19026

---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] Trim the Fat (Was: Re: Open 7.3 items )

2002-08-01 Thread Bruce Momjian

Marc G. Fournier wrote:
 So, from the 'client side', y'all will still see everything as one big
 package, while from the 'server side', I'll have the seperate modules
 taht can be packaged independently ...

Marc, how are you dealing with libpq's access to the server include
files?

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 853-3000
  +  If your life is a hard drive, |  830 Blythe Avenue
  +  Christ can be your backup.|  Drexel Hill, Pennsylvania 19026

---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] getpid() function

2002-08-01 Thread Bruce Momjian


Added to TODO:

* Consistently name server-side internal functions

---

Karel Zak wrote:
 On Thu, Aug 01, 2002 at 10:44:23AM -0400, Neil Conway wrote:
  On Thu, Aug 01, 2002 at 12:01:52PM +0200, Karel Zak wrote:
Is there some common convention of names?
  
  No, there isn't (for example, pg_stat_backend_id() versus
 
  I know -- for this I asked. IMHO for large project like PostgreSQL
  it's important. It's not good if there is possible speculate about
  name of new function. It must be unmistakable -- for this is needful
  make some convension. If somebody add new function and it's released,
  it's in the PostgreSQL almost forever.
 
  current_schema() -- or pg_get_viewdef() versus obj_description() ).
  Now that we have table functions, we might be using more built-in
  functions to provide information to the user -- so there will be
  an increasing need for some kind of naming convention for built-in
  functions. However, establishing a naming convention without
  breaking backwards compatibility might be tricky.
  
  Yes, but we can try be clean for new stuff.
  
 Karel
 
 -- 
  Karel Zak  [EMAIL PROTECTED]
  http://home.zf.jcu.cz/~zakkr/
  
  C, PostgreSQL, PHP, WWW, http://docs.linux.cz, http://mape.jcu.cz
 
 ---(end of broadcast)---
 TIP 4: Don't 'kill -9' the postmaster
 

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 853-3000
  +  If your life is a hard drive, |  830 Blythe Avenue
  +  Christ can be your backup.|  Drexel Hill, Pennsylvania 19026

---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] getpid() function

2002-08-01 Thread Bruce Momjian


I can rename backend_pid if people want.   I just made it consistent
with the other functions in that docs area.  Comments?

---

Karel Zak wrote:
 On Thu, Aug 01, 2002 at 10:44:23AM -0400, Neil Conway wrote:
  On Thu, Aug 01, 2002 at 12:01:52PM +0200, Karel Zak wrote:
Is there some common convention of names?
  
  No, there isn't (for example, pg_stat_backend_id() versus
 
  I know -- for this I asked. IMHO for large project like PostgreSQL
  it's important. It's not good if there is possible speculate about
  name of new function. It must be unmistakable -- for this is needful
  make some convension. If somebody add new function and it's released,
  it's in the PostgreSQL almost forever.
 
  current_schema() -- or pg_get_viewdef() versus obj_description() ).
  Now that we have table functions, we might be using more built-in
  functions to provide information to the user -- so there will be
  an increasing need for some kind of naming convention for built-in
  functions. However, establishing a naming convention without
  breaking backwards compatibility might be tricky.
  
  Yes, but we can try be clean for new stuff.
  
 Karel
 
 -- 
  Karel Zak  [EMAIL PROTECTED]
  http://home.zf.jcu.cz/~zakkr/
  
  C, PostgreSQL, PHP, WWW, http://docs.linux.cz, http://mape.jcu.cz
 

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 853-3000
  +  If your life is a hard drive, |  830 Blythe Avenue
  +  Christ can be your backup.|  Drexel Hill, Pennsylvania 19026

---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [HACKERS] Open 7.3 items

2002-08-01 Thread Hannu Krosing

On Thu, 2002-08-01 at 16:17, Tom Lane wrote:
 Hannu Krosing [EMAIL PROTECTED] writes:
  This name mangling should be done at connect time and kept out of
  database, where each users name should always be fully resolved
  ([EMAIL PROTECTED]). 
 
 I really like Hannu's approach to this.  It seems to solve Marc's
 problem with a very simple, easily understood, easily implemented
 feature.  All we need is a postmaster configuration parameter that
 (when TRUE) causes the postmaster to convert the passed username
 into 'username@databasename' before looking it up in pg_shadow.
 
 (Actually, what I'd prefer it do is try first for username, and
 then username@databasename if plain username isn't found.)

This should not really be @databasename, but rather a @domainname as
Mark does in fact want to use the same user from some virtual host
(==domain) for more than one database sometimes.

Using databasename as a domainname is just the quickest way to resolve
the domainname if no more info about it is given.

Thinking of the @xxx part as a domainname and not tying it to
databasename would be beneficial in case we later want to use other
kinds of domains (like NT, DNS/mail, YP or Kerberos domains for example)

If need arises we could later split out the @xxx part to usedomain
field and perhaps also add usedomainkind field in order to manage that
info in databse instead of pg_hba.conf.

-
Hannu


---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [HACKERS] cvs checkout pgsql

2002-08-01 Thread Bruce Momjian

Marc G. Fournier wrote:
 
 ... is once more 'normal' ...
 
 there are three modules right now setup:
 
 earthdistance
 libpqxx
 pgsql-server
 
 pgsql combines all three of the above to transparently give the equivalent
 of the whole distribution from its component parts ...

Marc, I have to ask, why did you split them up that way.  I thought
/contrib, /interfaces, /doc would be the way to go.

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 853-3000
  +  If your life is a hard drive, |  830 Blythe Avenue
  +  Christ can be your backup.|  Drexel Hill, Pennsylvania 19026

---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



Re: [HACKERS] getpid() function

2002-08-01 Thread Hannu Krosing

On Thu, 2002-08-01 at 19:41, Bruce Momjian wrote:
 
 Added to TODO:
 
   * Consistently name server-side internal functions

I'd suggest:

  * Make up rules for consistently naming server-side internal functions

  * Consistently name _new_ server-side internal functions

  * make a plan for moving existing server-side internal functions
to consistent naming

---
Hannu

---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



Re: [HACKERS] Trim the Fat (Was: Re: Open 7.3 items )

2002-08-01 Thread Marc G. Fournier

On Thu, 1 Aug 2002, Bruce Momjian wrote:

 Marc G. Fournier wrote:
  So, from the 'client side', y'all will still see everything as one big
  package, while from the 'server side', I'll have the seperate modules
  taht can be packaged independently ...

 Marc, how are you dealing with libpq's access to the server include
 files?

I haven't touched libpq yet ... I'm talking with the libpqxx guys right
now concerning getting the standalone libpqxx to work, and will be working
on figuring out how to get the 'master configure' to make use of the
standalone configure once that is fixed ... I want to get one module to
work cleanly before looking at any others ...




---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [HACKERS] Trim the Fat (Was: Re: Open 7.3 items )

2002-08-01 Thread Bruce Momjian

Marc G. Fournier wrote:
 On Thu, 1 Aug 2002, Bruce Momjian wrote:
 
  Marc G. Fournier wrote:
   So, from the 'client side', y'all will still see everything as one big
   package, while from the 'server side', I'll have the seperate modules
   taht can be packaged independently ...
 
  Marc, how are you dealing with libpq's access to the server include
  files?
 
 I haven't touched libpq yet ... I'm talking with the libpqxx guys right
 now concerning getting the standalone libpqxx to work, and will be working
 on figuring out how to get the 'master configure' to make use of the
 standalone configure once that is fixed ... I want to get one module to
 work cleanly before looking at any others ...

But isn't libpq++ just going to be part of interfaces?

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 853-3000
  +  If your life is a hard drive, |  830 Blythe Avenue
  +  Christ can be your backup.|  Drexel Hill, Pennsylvania 19026

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] Trimming the Fat, Part Deux ...

2002-08-01 Thread Bruce Momjian

Bruce Momjian wrote:
 Lamar Owen wrote:
  And the sooner our very old perl client goes away, the better I like it.  It 
  is a good client, don't get me wrong: but DBD:Pg is the standard now.
 
 I have been in contact with Edmund about moving DBD into our CVS and
 updating CPAN ourselves.  Should have a final answer soon.

OK, I got the go-ahead from Edmund.  We will have DBD:pg in the 7.3
tarball.  I will add it to CVS today or tomorrow.

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 853-3000
  +  If your life is a hard drive, |  830 Blythe Avenue
  +  Christ can be your backup.|  Drexel Hill, Pennsylvania 19026

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] Why is MySQL more chosen over PostgreSQL?

2002-08-01 Thread Greg Copeland

On Tue, 2002-07-30 at 14:54, Hannu Krosing wrote:
 On Tue, 2002-07-30 at 16:00, Curt Sampson wrote:
  On 30 Jul 2002, Hannu Krosing wrote:
  
   On Tue, 2002-07-30 at 14:51, Adrian 'Dagurashibanipal' von Bidder wrote:
  
Bruce Momjian:
 It causes too much complexity in other parts of the system.
   
That's one reason.
  
   Seems like somewhat valid reason. But still not enough to do a lot of
   work _and_ annoy a lot of existing users :)
  
  It's almost unquestionably more work to maintain than to drop. Dropping
  support for it is a one-time operation. Maintaining it is an ongoing
  expense.
 
 I would not rush to drop advanced features, as they may be hard to put
 back later. If they stay in, even in broken form, then there wont be
 nearly as much patches which make fixing them harder.

I seem to find this argument a lot on the list here.  For some reason,
many of the developers are under the impression that even if code is
never touched, it has a very high level of effort to keep it in the code
base.  That is, of course, completely untrue.  Now then, I'm not saying
that something as central as the topic at hand has a zero maintenance
cost associated with it, especially if it's constantly being run into by
the developers, but I do see it used WAY to often here for it to be
applicable in every case.

From what I can tell, in many cases, when one developer on the list
doesn't want to maintain or sees little value in a feature, it suddenly
seems to have a high price associated with it.  We need to be sure we're
making the distinction between, I don't care to maintain this, and,
maintaining this code is prohibitively high given it's feature
return...because   In other words, I find this argument used often
here will little to nothing used in context which would quantify it. 
Worse yet, it generally goes unchallenged and unquestioned.

 
 I'm afraid that we have already dropped too much. 
 
 For example we dropped time travel, but recent versions of Oracle now
 have some form of it, usable mostly for recovering accidentally deleted
 (and committed rows), although it is much harder to implement it using
 logs than using MVCC.

I must admit, I never understood this myself but I'm sure I'm ignorant
of the details.

  That's a straw man argument.
 
 Actually it was meant to be 'one straw man against another straw man 
 argument' ;)

Was clear to me!  I thought you made the point rather well.

 
  What we (or I, anyway) are arguing is that
  the relational model does everything that table inheritance does, and at
  least as easily.
 
 The problem is that 'the relational model' does nothing by itself. It is
 always the developers/DBAs who have to do things. 
 
 And at least for some brain shapes it is much more convenient to inherit
 tables than to (re)factor stuff into several tables to simulate
 inheritance using the relational model. 

Agreed.  It's important to remember, there are some cases where the
conceptual implications can allow for more freedom in implementation. 
This is the point that was being made with the pure C comment.  Sure,
I can do pretty much anything in asm, but that approach doesn't suddenly
invalidate every other way/language/concept/idiom to trying to
accomplish as given task.

Simply put, much of the power you get from any tool is often the
flexibility of a given tool to address a problem domain in many
different ways rather than just one.  Just because it doesn't fit your
paradigm doesn't mean it doesn't fit nicely into someone else's.

 
 I still think that inheritance should be enchanced and made compatible
 with standards not removed.

I completely agree with that!

 
  Extending the model adds complexity without adding the
  ability to do things you couldn't easily do before. (This, IMHO, makes
  table inheritance quite inelegant.)
 
 Then explain why SQL99 has included inheritance ?
 

Yes please.  I'm very interested in hearing a rebuttal to this one.

Greg




signature.asc
Description: This is a digitally signed message part


Re: [HACKERS] Open 7.3 items

2002-08-01 Thread Dann Corbit

I have discussed the idea of contributing our Win32 work to the
PostgreSQL project with management.

We have also converted all of the utilities (initdb, psql, pg_dump,
pg_restore, pg_id, pg_passwd, etc.)

Management is (rightfully) concerned about recouping the many thousands
of dollars invested in the Win32 conversion.

I pointed out that future versions would contain our enhancements and
therefore benefit us directly.

I pointed out that maintenance is 80% of the cost of a software system
and a world-wide team of good programmers would be maintaining the code
for all to benefit.

And last but not least, good computer Kharma.
;-)

They will have to cogitate over it a bit, I think.  If they agree, I
will make a file with our source tree available on an ftp site.

 -Original Message-
 From: Bruce Momjian [mailto:[EMAIL PROTECTED]]
 Sent: Wednesday, July 31, 2002 1:48 PM
 To: Dann Corbit
 Cc: Tom Lane; PostgreSQL-development
 Subject: Re: [HACKERS] Open 7.3 items
 
 
 
 If you can contribute it, I think it would be valuable to the 
 two other
 Win32 projects that are working on porting the 7.3 code to Win32.
 
 I don't think they will have any code ready for 7.3 but they 
 may have a
 few pieces they want to get in to make their 7.3 patching job easier,
 like renaming macros or variables or something.
 
 
 --
 -
 
 Dann Corbit wrote:
   -Original Message-
   From: Tom Lane [mailto:[EMAIL PROTECTED]]
   Sent: Tuesday, July 30, 2002 9:50 PM
   To: Bruce Momjian
   Cc: PostgreSQL-development
   Subject: Re: [HACKERS] Open 7.3 items 
  [snip]
  
Win32 - timefame?
  
  I may be able to contribute the Win32 stuff we have done here.  (Not
  sure of it, but they do seem more open to the idea now).  
 It's only for
  7.1.3, and so I am not sure how helpful it would be.  There 
 is also a
  bunch of stuff that looks like this in the code:
  
  #ifdef ICKY_WIN32_KLUDGE
  /* Bletcherous hack to make it work in Win32 goes here... */
  #else
  /* Normal code goes here... */
  #endif
  
  Let me know if you are interested.
  
  ---(end of 
 broadcast)---
  TIP 3: if posting/reading through Usenet, please send an appropriate
  subscribe-nomail command to [EMAIL PROTECTED] so that your
  message can get through to the mailing list cleanly
  
 
 -- 
   Bruce Momjian|  http://candle.pha.pa.us
   [EMAIL PROTECTED]   |  (610) 853-3000
   +  If your life is a hard drive, |  830 Blythe Avenue
   +  Christ can be your backup.|  Drexel Hill, 
 Pennsylvania 19026
 

---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



Re: [HACKERS] cvs checkout pgsql

2002-08-01 Thread Bruce Momjian

Tom Lane wrote:
 Marc G. Fournier [EMAIL PROTECTED] writes:
  ... is once more 'normal' ...
 
 Uh, it's completely broken as far as I can tell.
 
 $ pwd
 /home/postgres/pgsql/src/bin/pg_dump
 $ cvs status
 cvs server: Examining .
 cvs server: failed to create lock directory for `/cvsroot/pgsql/src/bin/pg_dump'
  (/cvsroot/pgsql/src/bin/pg_dump/#cvs.lock): No such file or directory
 cvs server: failed to obtain dir lock in repository `/cvsroot/pgsql/src/bin/pg_dump'
 cvs [server aborted]: read lock failed - giving up
 $
 
 Also, http://developer.postgresql.org/cvsweb.cgi/pgsql/ isn't working.
 
 This makes it a little difficult to get any work done :-(

Yes, I just deleted my CVS tree and re-checked out.

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 853-3000
  +  If your life is a hard drive, |  830 Blythe Avenue
  +  Christ can be your backup.|  Drexel Hill, Pennsylvania 19026

---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



[HACKERS] Disable foreign key constraints

2002-08-01 Thread Bruce Momjian

Do we have any way to disable foreign key constraints?  If not, I would
like to add it to TODO.  I was asked for this feature several times at
O'Reilly.  

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 853-3000
  +  If your life is a hard drive, |  830 Blythe Avenue
  +  Christ can be your backup.|  Drexel Hill, Pennsylvania 19026

---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] Trimming the Fat, Part Deux ...

2002-08-01 Thread Oleg Bartunov

On Thu, 1 Aug 2002, Bruce Momjian wrote:

 Bruce Momjian wrote:
  Lamar Owen wrote:
   And the sooner our very old perl client goes away, the better I like it.  It
   is a good client, don't get me wrong: but DBD:Pg is the standard now.
 
  I have been in contact with Edmund about moving DBD into our CVS and
  updating CPAN ourselves.  Should have a final answer soon.

 OK, I got the go-ahead from Edmund.  We will have DBD:pg in the 7.3
 tarball.  I will add it to CVS today or tomorrow.

Hmm,

according README from DBD-Pg ( 1.13 ), it's maintained now by
Jeffrey W. Baker ([EMAIL PROTECTED])

DBD::Pg  --  a PostgreSQL interface for Perl 5.

   $Id: README,v 1.3 2002/04/10 02:01:38 jwb Exp $

   Copyright (c) 1997,1998,1999,2000 Edmund Mergl
   Copyright (c) 2002 Jeffrey W. Baker
   Portions Copyright (c) 1994,1995,1996,1997 Tim Bunce

I'm  a little bit aware about DBD::Pg because it needs many changes and
testing to be 7.3 compliant.

Jeffrey, wake up :-)





Regards,
Oleg
_
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: [EMAIL PROTECTED], http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83


---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [HACKERS] Trimming the Fat, Part Deux ...

2002-08-01 Thread Bruce Momjian

Oleg Bartunov wrote:
 On Thu, 1 Aug 2002, Bruce Momjian wrote:
 
  Bruce Momjian wrote:
   Lamar Owen wrote:
And the sooner our very old perl client goes away, the better I like it.  It
is a good client, don't get me wrong: but DBD:Pg is the standard now.
  
   I have been in contact with Edmund about moving DBD into our CVS and
   updating CPAN ourselves.  Should have a final answer soon.
 
  OK, I got the go-ahead from Edmund.  We will have DBD:pg in the 7.3
  tarball.  I will add it to CVS today or tomorrow.
 
 Hmm,
 
 according README from DBD-Pg ( 1.13 ), it's maintained now by
 Jeffrey W. Baker ([EMAIL PROTECTED])
 
 DBD::Pg  --  a PostgreSQL interface for Perl 5.
 
$Id: README,v 1.3 2002/04/10 02:01:38 jwb Exp $
 
Copyright (c) 1997,1998,1999,2000 Edmund Mergl
Copyright (c) 2002 Jeffrey W. Baker
Portions Copyright (c) 1994,1995,1996,1997 Tim Bunce
 
 I'm  a little bit aware about DBD::Pg because it needs many changes and
 testing to be 7.3 compliant.
 
 Jeffrey, wake up :-)

Oh, that's strange. I wonder why Edmund didn't mention that.

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 853-3000
  +  If your life is a hard drive, |  830 Blythe Avenue
  +  Christ can be your backup.|  Drexel Hill, Pennsylvania 19026

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] Open 7.3 items

2002-08-01 Thread Marc G. Fournier

On Thu, 1 Aug 2002, Dann Corbit wrote:

 I have discussed the idea of contributing our Win32 work to the
 PostgreSQL project with management.

 We have also converted all of the utilities (initdb, psql, pg_dump,
 pg_restore, pg_id, pg_passwd, etc.)

 Management is (rightfully) concerned about recouping the many thousands
 of dollars invested in the Win32 conversion.

Ask them if they are willing to pay us for the many thousands of dollars
we've all invested in giving them something to even convert? *grin*




---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [HACKERS] Rules and Views

2002-08-01 Thread Tom Lane

Stephan Szabo [EMAIL PROTECTED] writes:
 So if T1 has a #dups0 and T2 has a #dups0 we should get
 no rows, but what if T1' (with the clause) has a #dups0 but
 T2' has a #dups=0?

Um, you're right --- pushing down into the right-hand side would reduce
N, thereby possibly *increasing* the number of output rows not reducing
it.  My mistake ... should have worked out the EXCEPT case in more
detail.

This says that we can't push down at all in the EXCEPT ALL case, I
think, and I'm leery about whether we should push for EXCEPT.  But
the UNION and INTERSECT cases are probably the important ones anyway.

regards, tom lane

---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] Trim the Fat (Was: Re: Open 7.3 items )

2002-08-01 Thread Marc G. Fournier

On Thu, 1 Aug 2002, Bruce Momjian wrote:

 Marc G. Fournier wrote:
  On Thu, 1 Aug 2002, Bruce Momjian wrote:
 
   Marc G. Fournier wrote:
So, from the 'client side', y'all will still see everything as one big
package, while from the 'server side', I'll have the seperate modules
taht can be packaged independently ...
  
   Marc, how are you dealing with libpq's access to the server include
   files?
 
  I haven't touched libpq yet ... I'm talking with the libpqxx guys right
  now concerning getting the standalone libpqxx to work, and will be working
  on figuring out how to get the 'master configure' to make use of the
  standalone configure once that is fixed ... I want to get one module to
  work cleanly before looking at any others ...

 But isn't libpq++ just going to be part of interfaces?

Huh?  Each module is to be designed as a standalone project/distribution
... in order to appease those that don't feel that the change is worth it,
I'm making, essentially, a 'meta-module' that will pull in the seperate
modules into what you've all gotten used to from a development standpoint
...

If you checkout pgsql, you will see what you are used to seeing, locally
stored in pgsql

If you checkout libpqxx, you will just get libpqxx, locally stored in
libpqxx

If you checkout interfaces, you will get all of the interfaces listed in a
'meta module' consisting of the various interfaces, locally stored in a
directory of pgsql/src/interfaces/*

For those that are used to cheking out pgsql, continue to do so ... for
ppl like Jergeon(sp?), he will checkout libpqxx itself and work on it as
if it were a standalone project, but when we package up pgsql, it will get
pulled in along with everything else, so that for those that have nothing
better to do then download everyhting and the kitchen sink, they can ...

At the same time as the distribution is made, a libpqxx.tar.gz will be
created, that will be a self-contained source tree for just that, so that
those doing ports on the *BSDs or rpms/etc on Linux have pretty much
pre-made distros that they don't have to slice and dice (ie. for FreeBSD,
you'd do something like go into /usr/ports/database/pgsql-libpqxx, type
'make' and it would automatically go out, download libpq.tar.gz, install
it as a dependency and then grab and install the libpqxx file ... if you
had already installed libpq previously, for mod_php4, for example, then it
would just download and install the libpqxx tar file) ...

Unless I break something along the way, as far as you are concerned,
nothing has changed ... just keep checking out pgsql as you always have
... but for those of us that pay for our bandwidth by the byte, we'll now
be able to download *only* what we require, saving us both time and money
...




---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] getpid() function

2002-08-01 Thread Neil Conway

On Thu, Aug 01, 2002 at 05:09:52PM +0200, Karel Zak wrote:
  I know -- for this I asked. IMHO for large project like PostgreSQL
  it's important. It's not good if there is possible speculate about
  name of new function. It must be unmistakable -- for this is needful
  make some convension. If somebody add new function and it's released,
  it's in the PostgreSQL almost forever.

I agree that a naming convention would be useful in some circumstances,
but for commonly-used functions, I think it would do more harm than
good. 'pg_nextval()' is awfully ugly, for example.

And if we're going to have a naming convention for builtin functions,
what about builtin types? 'pg_int4', anyone? :-)

Cheers,

Neil

-- 
Neil Conway [EMAIL PROTECTED]
PGP Key ID: DB3C29FC

---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [HACKERS] Trimming the Fat, Part Deux ...

2002-08-01 Thread Marc G. Fournier

On Thu, 1 Aug 2002, Bruce Momjian wrote:

 Bruce Momjian wrote:
  Lamar Owen wrote:
   And the sooner our very old perl client goes away, the better I like it.  It
   is a good client, don't get me wrong: but DBD:Pg is the standard now.
 
  I have been in contact with Edmund about moving DBD into our CVS and
  updating CPAN ourselves.  Should have a final answer soon.

 OK, I got the go-ahead from Edmund.  We will have DBD:pg in the 7.3
 tarball.  I will add it to CVS today or tomorrow.

If you know how to, please import it as a seperate module, do not add it
to the pgsql tree itself ... if you don't know how, please just forward it
onto me and I'll get it into the repository ...


---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



Re: [HACKERS] Trimming the Fat, Part Deux ...

2002-08-01 Thread Marc G. Fournier


Ummm ... stupid question, but can we even bring this into the 'core'?

   You may distribute under the terms of either the GNU General Public
   License or the Artistic License, as specified in the Perl README file.



On Thu, 1 Aug 2002, Oleg Bartunov wrote:

 On Thu, 1 Aug 2002, Bruce Momjian wrote:

  Bruce Momjian wrote:
   Lamar Owen wrote:
And the sooner our very old perl client goes away, the better I like it.  It
is a good client, don't get me wrong: but DBD:Pg is the standard now.
  
   I have been in contact with Edmund about moving DBD into our CVS and
   updating CPAN ourselves.  Should have a final answer soon.
 
  OK, I got the go-ahead from Edmund.  We will have DBD:pg in the 7.3
  tarball.  I will add it to CVS today or tomorrow.

 Hmm,

 according README from DBD-Pg ( 1.13 ), it's maintained now by
 Jeffrey W. Baker ([EMAIL PROTECTED])

 DBD::Pg  --  a PostgreSQL interface for Perl 5.

$Id: README,v 1.3 2002/04/10 02:01:38 jwb Exp $

Copyright (c) 1997,1998,1999,2000 Edmund Mergl
Copyright (c) 2002 Jeffrey W. Baker
Portions Copyright (c) 1994,1995,1996,1997 Tim Bunce

 I'm  a little bit aware about DBD::Pg because it needs many changes and
 testing to be 7.3 compliant.

 Jeffrey, wake up :-)


 
 

   Regards,
   Oleg
 _
 Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
 Sternberg Astronomical Institute, Moscow University (Russia)
 Internet: [EMAIL PROTECTED], http://www.sai.msu.su/~megera/
 phone: +007(095)939-16-83, +007(095)939-23-83




---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] Trimming the Fat, Part Deux ...

2002-08-01 Thread Bruce Momjian

Marc G. Fournier wrote:
 
 Ummm ... stupid question, but can we even bring this into the 'core'?
 
You may distribute under the terms of either the GNU General Public
License or the Artistic License, as specified in the Perl README file.

Artistic License is fine, I think.

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 853-3000
  +  If your life is a hard drive, |  830 Blythe Avenue
  +  Christ can be your backup.|  Drexel Hill, Pennsylvania 19026

---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



Re: [HACKERS] Disable foreign key constraints

2002-08-01 Thread Tom Lane

Bruce Momjian [EMAIL PROTECTED] writes:
 Do we have any way to disable foreign key constraints?

You can drop and re-add the constraint relatively painlessly in 7.3.
Formerly it took hacking on pg_trigger.

regards, tom lane

---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [HACKERS] Disable foreign key constraints

2002-08-01 Thread Bruce Momjian

Tom Lane wrote:
 Bruce Momjian [EMAIL PROTECTED] writes:
  Do we have any way to disable foreign key constraints?
 
 You can drop and re-add the constraint relatively painlessly in 7.3.
 Formerly it took hacking on pg_trigger.

OK, let's see if it comes up after 7.3.

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 853-3000
  +  If your life is a hard drive, |  830 Blythe Avenue
  +  Christ can be your backup.|  Drexel Hill, Pennsylvania 19026

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] Trimming the Fat, Part Deux ...

2002-08-01 Thread Lamar Owen

On Thursday 01 August 2002 02:21 pm, Bruce Momjian wrote:
 Bruce Momjian wrote:
  Lamar Owen wrote:
   And the sooner our very old perl client goes away, the better I like
   it.  It is a good client, don't get me wrong: but DBD:Pg is the
   standard now.

  I have been in contact with Edmund about moving DBD into our CVS and
  updating CPAN ourselves.  Should have a final answer soon.

 OK, I got the go-ahead from Edmund.  We will have DBD:pg in the 7.3
 tarball.  I will add it to CVS today or tomorrow.

Um, is putting it into our tarball necessary, or even desireable?  It is 
separately maintained as part of CPAN.  Is there some fundamental reason that 
we _must_ ship a perl client (the same goes for tcl/tk/python/c++ as well) if 
it is adequately maintained in the standard location?  Perlers know to go to 
CPAN.  Likewise Pythonistas have their own place.

And that's the crux of Marc's message, I believe -- why can't we minimize 
here?
-- 
Lamar Owen
WGCR Internet Radio
1 Peter 4:11

---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



Re: [HACKERS] Rules and Views

2002-08-01 Thread Stephan Szabo


On Thu, 1 Aug 2002, Tom Lane wrote:

 Stephan Szabo [EMAIL PROTECTED] writes:
  So if T1 has a #dups0 and T2 has a #dups0 we should get
  no rows, but what if T1' (with the clause) has a #dups0 but
  T2' has a #dups=0?

 Um, you're right --- pushing down into the right-hand side would reduce
 N, thereby possibly *increasing* the number of output rows not reducing
 it.  My mistake ... should have worked out the EXCEPT case in more
 detail.

 This says that we can't push down at all in the EXCEPT ALL case, I
 think, and I'm leery about whether we should push for EXCEPT.  But
 the UNION and INTERSECT cases are probably the important ones anyway.

I think that we can push to the left in both (should is a separate issue).

If the condition is true for all of the left hand dups, we can
choose to have emitted such rows as the output of the EXCEPT ALL in
the theoretical case so that the output is the same, max(0, m-n) rows.
If the condition is false for any of the left hand dups, we can safely
return any number of rows between 0 and max(0,m-n) rows since we can
say that the difference were rows that failed the where clause.  If
we push the condition down, we'll get some number m1 rows that succeed
the condition (with m1m), so returning max(0, m1-n) should be safe.
If the condition is false for all of the rows, m1=0 so we'll correctly
return no rows.

I think.



---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



Re: [HACKERS] getpid() function

2002-08-01 Thread Peter Eisentraut

Neil Conway writes:

 On Thu, Aug 01, 2002 at 12:01:52PM +0200, Karel Zak wrote:
   Is there some common convention of names?

 No, there isn't (for example, pg_stat_backend_id() versus
 current_schema() -- or pg_get_viewdef() versus obj_description() ).

The pg_ naming scheme is obsolete because system and user namespaces are
now isolated.  Anything involving get is also redundant, IMHO, because
we aren't dealing with object-oriented things.  Besides that, the
convention in SQL seems to be to use full noun phrases with words
separated by underscores.

So if pg_get_viewdef where reinvented today, by me, it would be called
view_definition.

A whole 'nother issue is to use the right terms for the right things.  For
example, the term backend is rather ambiguous and PostgreSQL uses it
differently from everyone else.  Instead I would use server process when
referring to the PID.

-- 
Peter Eisentraut   [EMAIL PROTECTED]


---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [HACKERS] Open 7.3 items

2002-08-01 Thread Tom Lane

Bruce Momjian [EMAIL PROTECTED] writes:
 (Actually, what I'd prefer it do is try first for username, and
 then username@databasename if plain username isn't found.)

 Yes, that would be very easy to do _except_ for pg_hba.conf which does a
 first-match for username.  We could get into trouble there by trying two
 versions of the same name.  Comments?

Hm.  I think we'd have to switch around the order of stuff so that we
look at the flat-file copy of pg_shadow first.  Then we'd know which
flavor of name we have, and we can proceed with the pg_hba match.

The reason it's worth doing this is that 'postgres', for example, should
be an installation-wide username even when you're using db-local names
for ordinary users.

 This may require raising the length of NAME type to be backwards
 compatible.
 
 Right, but we're planning to do that anyway.

 Yes, but that requires a protocol change, which we don't want to do for
 7.3.

What?  We've been discussing raising NAMEDATALEN for months, and no
one's claimed that it qualifies as a protocol version change.

regards, tom lane

---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] Module Portability

2002-08-01 Thread Oleg Bartunov

Contrib modules does have such possibility.
For example:

CREATE FUNCTION ltree_in(opaque)
RETURNS opaque
AS 'MODULE_PATHNAME'
LANGUAGE 'c' with (isstrict);


Oleg
On Thu, 1 Aug 2002, Paul Ramsey wrote:

 All this talk of modularity reminds me of a pet peeve: doing
 dump/restore upgrades when your databases include extension functions is
 highly clunky, because extension functions include the fully qualified
 path to the linking library. So, for example

 create function geometry_in(opaque)
 RETURNS GEOMETRY
AS '/opt/pgsql72/lib/contrib/libpostgis.so.0.7'
LANGUAGE 'c' with (isstrict);

 If I do a pg_dumpall on an old database and try to pipe into a new
 database, things can get messy pretty fast. It would be nice if pgsql
 had a 'default library location' which it tried to load linking
 libraries from, in much the same way apache uses libexec. Then my
 definition could just be:

 create function geometry_in(opaque)
 RETURNS GEOMETRY
AS 'libpostgis.so.0.7'
LANGUAGE 'c' with (isstrict);

 Which would be alot more portable across installations. I mean, right
 now I can render my database inoperative just by moving my executable
 installation tree to a new path. Nice.



Regards,
Oleg
_
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: [EMAIL PROTECTED], http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83


---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] Open 7.3 items

2002-08-01 Thread Peter Eisentraut

Bruce Momjian writes:

 OK, I have attached a patch for testing.  Sample output is:

   $ sql -U guest test
   psql: FATAL:  user test.guest does not exist
   $ createuser test.guest

I will object to any scheme that makes any characters in the user name
magic.  Two reasons:  First, do it right, make a separate column.
Second, several tools use URI syntax to specify data sources.  This will
break any feature that relies on being able to put special characters into
the user name.

The right solution to having database-local user names is putting extra
information into pg_shadow regarding which database this user applies to.
It could be an array or some separate authentication domain thing.

-- 
Peter Eisentraut   [EMAIL PROTECTED]


---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



Re: [HACKERS] Trim the Fat (Was: Re: Open 7.3 items )

2002-08-01 Thread Peter Eisentraut

Marc G. Fournier writes:

 Next, unless Peter knows how to do it already, I've gotta learn to make
 configure more intelligent, so that for all intents, the pieces look
 like one package when building, not just when coding ...

It is possible, but it's not going to work.

There is a lot of interdependent and shared C code that needs to be put
somewhere.  The build infrastructure is not ready to handle missing sub-
or superdirectories at all.  Where is all the documentation going to go?
How are the installation instructions going to cope with the fact that no
one knows where everything is?

This whole things is a worthwhile idea, to some extent, but a lot more
planning needs to be done.  In the meantime I humbly suggest you look for
a better package manager rather than letting it all out on us.

-- 
Peter Eisentraut   [EMAIL PROTECTED]


---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



Re: [HACKERS] Open 7.3 items

2002-08-01 Thread Peter Eisentraut

Tom Lane writes:

 We've had several proposals in this thread for complicated extensions
 to the user naming mechanism.  I think that's overdesigning the feature,
 because we have *no* examples of real-world need for such things except
 for Marc's situation.  Let's keep it simple until we see real use cases
 that can drive the design of something fancy.

I don't buy this argument.  The reason we have no examples is that people
are happily using the feature and don't have any reason to tell the world
about it.

-- 
Peter Eisentraut   [EMAIL PROTECTED]


---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] Open 7.3 items

2002-08-01 Thread Peter Eisentraut

Lamar Owen writes:

  allow specification of configuration files in a different directory

 I am going to review the previous thread and attempt to distill what can be
 done.  I will then post a summary of what I found, with potential commentary.
 If a consensus is reached, I'd like to see the feature in 7.3.

The end result of the discussion was that no one could come up with a
bright idea to secure the configuration files without doing anything bogus
during installation.

Another issue, which becomes even more problematic if you factor in the
WAL file location discussion, is that if we drive the location of the data
from the configuration file instead of vice versa, we need to have initdb
smart enough to read those files.

Finally, I recall that a major reason to have these files in a separate
place is to be able to share them.  But that won't work because those
files contain port numbers, data directory locations, etc. which can't be
shared.  That needs a better plan than possibly use command-line options
to override.

-- 
Peter Eisentraut   [EMAIL PROTECTED]


---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



Re: [HACKERS] Module Portability

2002-08-01 Thread Paul Ramsey

Correct me if I am wrong (I often am) but isn't MODULE_PATHNAME replaced
by the fully qualified module path during the build process? I mean, the
source code is movable, but a running installed system, with real data,
is not movable, because MODULE_PATHNAME gets mapped to
/usr/local/mypgsql/lib/blah.so or somesuch.

Oleg Bartunov wrote:
 
 Contrib modules does have such possibility.
 For example:
 
 CREATE FUNCTION ltree_in(opaque)
 RETURNS opaque
 AS 'MODULE_PATHNAME'
 LANGUAGE 'c' with (isstrict);
 
 Oleg
 On Thu, 1 Aug 2002, Paul Ramsey wrote:
 
  All this talk of modularity reminds me of a pet peeve: doing
  dump/restore upgrades when your databases include extension functions is
  highly clunky, because extension functions include the fully qualified
  path to the linking library. So, for example
 
  create function geometry_in(opaque)
  RETURNS GEOMETRY
 AS '/opt/pgsql72/lib/contrib/libpostgis.so.0.7'
 LANGUAGE 'c' with (isstrict);
 
  If I do a pg_dumpall on an old database and try to pipe into a new
  database, things can get messy pretty fast. It would be nice if pgsql
  had a 'default library location' which it tried to load linking
  libraries from, in much the same way apache uses libexec. Then my
  definition could just be:
 
  create function geometry_in(opaque)
  RETURNS GEOMETRY
 AS 'libpostgis.so.0.7'
 LANGUAGE 'c' with (isstrict);
 
  Which would be alot more portable across installations. I mean, right
  now I can render my database inoperative just by moving my executable
  installation tree to a new path. Nice.
 
 
 
 Regards,
 Oleg
 _
 Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
 Sternberg Astronomical Institute, Moscow University (Russia)
 Internet: [EMAIL PROTECTED], http://www.sai.msu.su/~megera/
 phone: +007(095)939-16-83, +007(095)939-23-83

-- 
  __
 /
 | Paul Ramsey
 | Refractions Research
 | Email: [EMAIL PROTECTED]
 | Phone: (250) 885-0632
 \_

---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] Trim the Fat (Was: Re: Open 7.3 items )

2002-08-01 Thread Peter Eisentraut

Marc G. Fournier writes:

 I haven't touched libpq yet ... I'm talking with the libpqxx guys right
 now concerning getting the standalone libpqxx to work, and will be working
 on figuring out how to get the 'master configure' to make use of the
 standalone configure once that is fixed ... I want to get one module to
 work cleanly before looking at any others ...

I fail to understand how this mess is going to achieve anything.  If you
like, you can assemble or split the modules into trees or tarballs after
you have them checked out, or even after you have downloaded and unpacked
them.  But a source code repository is not a package manager.

Moreover, I would really like it if there was *some* discussion before we
are presented with done deals.

-- 
Peter Eisentraut   [EMAIL PROTECTED]


---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [HACKERS] Module Portability

2002-08-01 Thread Peter Eisentraut

Paul Ramsey writes:

 It would be nice if pgsql had a 'default library location'

Sure.  That's why it was implemented in 7.2.

-- 
Peter Eisentraut   [EMAIL PROTECTED]


---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] Trimming the Fat, Part Deux ...

2002-08-01 Thread Peter Eisentraut

Bruce Momjian writes:

 Artistic License is fine, I think.

The Artistic License doesn't even qualify as Free Software as far as the
FSF is concerned.

More generally, it is a different license, and that is a problem.

-- 
Peter Eisentraut   [EMAIL PROTECTED]


---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [HACKERS] Trimming the Fat, Part Deux ...

2002-08-01 Thread Peter Eisentraut

Bruce Momjian writes:

 OK, I got the go-ahead from Edmund.  We will have DBD:pg in the 7.3
 tarball.  I will add it to CVS today or tomorrow.

Please, no more Perl modules in our CVS!  The ones we have are already
messy enough to build.

I thought we were talking about trimming the source tree, not adding more.
Why not put it on gborg or somewhere else?

-- 
Peter Eisentraut   [EMAIL PROTECTED]


---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



Re: [HACKERS] Trimming the Fat, Part Deux ...

2002-08-01 Thread Lamar Owen

On Thursday 01 August 2002 04:37 pm, Peter Eisentraut wrote:
 I thought we were talking about trimming the source tree, not adding more.
 Why not put it on gborg or somewhere else?

It's already in CPAN.  A link to CPAN should suffice, IMHO.

I also thought we were discussing trimming the tree; and that was a good 
feeling.
-- 
Lamar Owen
WGCR Internet Radio
1 Peter 4:11

---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



Re: [HACKERS] Open 7.3 items

2002-08-01 Thread Lamar Owen

On Thursday 01 August 2002 04:06 pm, Peter Eisentraut wrote:
 Another issue, which becomes even more problematic if you factor in the
 WAL file location discussion, is that if we drive the location of the data
 from the configuration file instead of vice versa, we need to have initdb
 smart enough to read those files.

Hmm, I hadn't thought about that -- but I like that idea.  Not exclusive of 
the existing way, either.  But alongside it.  More thought required.

 Finally, I recall that a major reason to have these files in a separate
 place is to be able to share them.  But that won't work because those
 files contain port numbers, data directory locations, etc. which can't be
 shared.  That needs a better plan than possibly use command-line options
 to override.

No, the major reason was to allow the config files to live in a different area 
than the data files without symlink kludges.  The reasons why an admin might 
want this are manifold.  The reason I want it is to simplify multiple 
postmasters in an RPM installation.  

You can then blow away the whole PGDATA tree and start from scratch without 
losing your config files.

You had an idea along these lines, and I was quite OK with the majority of it.
-- 
Lamar Owen
WGCR Internet Radio
1 Peter 4:11

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] Module Portability

2002-08-01 Thread Paul Ramsey

Color me embarrased. /


Peter Eisentraut wrote:
 
 Paul Ramsey writes:
 
  It would be nice if pgsql had a 'default library location'
 
 Sure.  That's why it was implemented in 7.2.
 
 --
 Peter Eisentraut   [EMAIL PROTECTED]

-- 
  __
 /
 | Paul Ramsey
 | Refractions Research
 | Email: [EMAIL PROTECTED]
 | Phone: (250) 885-0632
 \_

---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



Re: [HACKERS] getpid() function

2002-08-01 Thread Bruce Momjian

Peter Eisentraut wrote:
 Neil Conway writes:
 
  On Thu, Aug 01, 2002 at 12:01:52PM +0200, Karel Zak wrote:
Is there some common convention of names?
 
  No, there isn't (for example, pg_stat_backend_id() versus
  current_schema() -- or pg_get_viewdef() versus obj_description() ).
 
 The pg_ naming scheme is obsolete because system and user namespaces are
 now isolated.  Anything involving get is also redundant, IMHO, because
 we aren't dealing with object-oriented things.  Besides that, the
 convention in SQL seems to be to use full noun phrases with words
 separated by underscores.
 
 So if pg_get_viewdef where reinvented today, by me, it would be called
 view_definition.
 
 A whole 'nother issue is to use the right terms for the right things.  For
 example, the term backend is rather ambiguous and PostgreSQL uses it
 differently from everyone else.  Instead I would use server process when
 referring to the PID.

Yes, I wanted to match libpq's function, which is the way people used to
get the pid.

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 853-3000
  +  If your life is a hard drive, |  830 Blythe Avenue
  +  Christ can be your backup.|  Drexel Hill, Pennsylvania 19026

---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] Open 7.3 items

2002-08-01 Thread Bruce Momjian

Tom Lane wrote:
 Bruce Momjian [EMAIL PROTECTED] writes:
  (Actually, what I'd prefer it do is try first for username, and
  then username@databasename if plain username isn't found.)
 
  Yes, that would be very easy to do _except_ for pg_hba.conf which does a
  first-match for username.  We could get into trouble there by trying two
  versions of the same name.  Comments?
 
 Hm.  I think we'd have to switch around the order of stuff so that we
 look at the flat-file copy of pg_shadow first.  Then we'd know which
 flavor of name we have, and we can proceed with the pg_hba match.
 
 The reason it's worth doing this is that 'postgres', for example, should
 be an installation-wide username even when you're using db-local names
 for ordinary users.

Yes, that's why my code had a special case for 'postgres' or whatever
super-user name it was installed with.  I think it is cleaner to just
read the install username.  Also, right now, pg_pwd only contains
usernames that have passwords, not all of them.

  This may require raising the length of NAME type to be backwards
  compatible.
  
  Right, but we're planning to do that anyway.
 
  Yes, but that requires a protocol change, which we don't want to do for
  7.3.
 
 What?  We've been discussing raising NAMEDATALEN for months, and no
 one's claimed that it qualifies as a protocol version change.

I thought they were talking about increasing the length of the user NAME
that comes of the wire.  That is currently 32.  I see now he was just
talking about NAMEDATALEN.  Good thing we are prepending the database
name after receiving the name.


-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 853-3000
  +  If your life is a hard drive, |  830 Blythe Avenue
  +  Christ can be your backup.|  Drexel Hill, Pennsylvania 19026

---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [HACKERS] Open 7.3 items

2002-08-01 Thread Bruce Momjian

Peter Eisentraut wrote:
 Tom Lane writes:
 
  We've had several proposals in this thread for complicated extensions
  to the user naming mechanism.  I think that's overdesigning the feature,
  because we have *no* examples of real-world need for such things except
  for Marc's situation.  Let's keep it simple until we see real use cases
  that can drive the design of something fancy.
 
 I don't buy this argument.  The reason we have no examples is that people
 are happily using the feature and don't have any reason to tell the world
 about it.

Well, we are going to find out in 7.3 when the secondary password file
is no longer supported.

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 853-3000
  +  If your life is a hard drive, |  830 Blythe Avenue
  +  Christ can be your backup.|  Drexel Hill, Pennsylvania 19026

---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [HACKERS] Open 7.3 items

2002-08-01 Thread Marc G. Fournier

On Thu, 1 Aug 2002, Bruce Momjian wrote:

 Peter Eisentraut wrote:
  Bruce Momjian writes:
 
   OK, I have attached a patch for testing.  Sample output is:
  
 $ sql -U guest test
 psql: FATAL:  user test.guest does not exist
 $ createuser test.guest
 
  I will object to any scheme that makes any characters in the user name
  magic.  Two reasons:  First, do it right, make a separate column.
  Second, several tools use URI syntax to specify data sources.  This will
  break any feature that relies on being able to put special characters into
  the user name.
 
  The right solution to having database-local user names is putting extra
  information into pg_shadow regarding which database this user applies to.
  It could be an array or some separate authentication domain thing.

 OK, if you object, you can say goodbye to this feature for 7.3.  I can
 supply the patch to Marc and anyone else who wants it but I am not
 inclined nor convinced we need that level of work for this feature.

 So we end up with nothing.

Stupid qustion .. but why can't you just add a 'domain' column to
pg_passwd/pg_shadow so that its stored as two fields instead of one?
Which I believe is what Pter is/was suggesting ...



---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [HACKERS] PITR, checkpoint, and local relations

2002-08-01 Thread Bruce Momjian


J.R needs comments on this.  PITR has problems because local relations
aren't logged to WAL.  Suggestions?

---

J. R. Nield wrote:
 As per earlier discussion, I'm working on the hot backup issues as part
 of the PITR support. While I was looking at the buffer manager and the
 relcache/MyDb issues to figure out the best way to work this, it
 occurred to me that PITR will introduce a big problem with the way we
 handle local relations.
 
 The basic problem is that local relations (rd_myxactonly == true) are
 not part of a checkpoint, so there is no way to get a lower bound on the
 starting LSN needed to recover a local relation. In the past this did
 not matter, because either the local file would be (effectively)
 discarded during recovery because it had not yet become visible, or the
 file would be flushed before the transaction creating it made it
 visible. Now this is a problem.
 
 So I need a decision from the core team on what to do about the local
 buffer manager. My preference would be to forget about the local buffer
 manager entirely, or if not that then to allow it only for _true_
 temporary data. The only alternative I can devise is to create some way
 for all other backends to participate in a checkpoint, perhaps using a
 signal. I'm not sure this can be done safely. 
 
 Anyway, I'm glad the tuplesort stuff doesn't try to use relation files
 :-)
 
 Can the core team let me know if this is acceptable, and whether I
 should move ahead with changes to the buffer manager (and some other
 stuff) needed to avoid special treatment of rd_myxactonly relations?
 
 Also to Richard: have you guys at multera dealt with this issue already?
 Is there some way around this that I'm missing?
 
 
 Regards,
 
   John Nield
 
 
 
 
 Just as an example of this problem, imagine the following sequence:
 
 1) Transaction TX1 creates a local relation LR1 which will eventually
 become a globally visible table. Tuples are inserted into the local
 relation, and logged to the WAL file. Some tuples remain in the local
 buffer cache and are not yet written out, although they are logged. TX1
 is still in progress.
 
 2) Backup starts, and checkpoint is called to get a minimum starting LSN
 (MINLSN) for the backed-up files. Only the global buffers are flushed.
 
 3) Backup process copies LR1 into the backup directory. (postulate some
 way of coordinating with the local buffer manager, a problem I have not
 solved).
 
 4) TX1 commits and flushes its local buffers. A dirty buffer exists
 whose LSN is before MINLSN. LR1 becomes globally visible.
 
 5) Backup finishes copying all the files, including the local relations,
 and then flushes the log. The log files between MINLSN and the current
 LSN are copied to the backup directory, and backup is done.
 
 6) Sometime later, a system administrator restores the backup and plays
 the logs forward starting at MINLSN. LR1 will be corrupt, because some
 of the log entries required for its restoration will be before MINLSN.
 This corruption will not be detected until something goes wrong.
 
 BTW: The problem doesn't only happen with backup! It occurs at every
 checkpoint as well, I just missed it until I started working on the hot
 backup issue.
 
 -- 
 J. R. Nield
 [EMAIL PROTECTED]
 
 
 
 
 ---(end of broadcast)---
 TIP 2: you can get off all lists at once with the unregister command
 (send unregister YourEmailAddressHere to [EMAIL PROTECTED])
 

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 853-3000
  +  If your life is a hard drive, |  830 Blythe Avenue
  +  Christ can be your backup.|  Drexel Hill, Pennsylvania 19026

---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



Re: [HACKERS] Trimming the Fat, Part Deux ...

2002-08-01 Thread Bruce Momjian

Peter Eisentraut wrote:
 Bruce Momjian writes:
 
  Artistic License is fine, I think.
 
 The Artistic License doesn't even qualify as Free Software as far as the
 FSF is concerned.
 
 More generally, it is a different license, and that is a problem.

Well, our ODBC is LGPL.  I wonder if Edmund can/would change the
license.


-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 853-3000
  +  If your life is a hard drive, |  830 Blythe Avenue
  +  Christ can be your backup.|  Drexel Hill, Pennsylvania 19026

---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



Re: [HACKERS] Open 7.3 items

2002-08-01 Thread Bruce Momjian

Marc G. Fournier wrote:
   I will object to any scheme that makes any characters in the user name
   magic.  Two reasons:  First, do it right, make a separate column.
   Second, several tools use URI syntax to specify data sources.  This will
   break any feature that relies on being able to put special characters into
   the user name.
  
   The right solution to having database-local user names is putting extra
   information into pg_shadow regarding which database this user applies to.
   It could be an array or some separate authentication domain thing.
 
  OK, if you object, you can say goodbye to this feature for 7.3.  I can
  supply the patch to Marc and anyone else who wants it but I am not
  inclined nor convinced we need that level of work for this feature.
 
  So we end up with nothing.
 
 Stupid qustion .. but why can't you just add a 'domain' column to
 pg_passwd/pg_shadow so that its stored as two fields instead of one?
 Which I believe is what Pter is/was suggesting ...

Right now, pg_pwd only dumps users with passwords, and as I remember, it
is only accessed when the protocol needs to lookup a password.  It
wasn't designed for anything more advanced.  If you want separate
columns, you have to dump out everyone, and modify CREATE USER,
createuser, ALTER USER, ... to handle those new domain names, and you
have to make this API visible to everyone even if they are not using
domains.  That's where things really get ugly.

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 853-3000
  +  If your life is a hard drive, |  830 Blythe Avenue
  +  Christ can be your backup.|  Drexel Hill, Pennsylvania 19026

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] Trimming the Fat, Part Deux ...

2002-08-01 Thread Bruce Momjian

Lamar Owen wrote:
 On Thursday 01 August 2002 04:37 pm, Peter Eisentraut wrote:
  I thought we were talking about trimming the source tree, not adding more.
  Why not put it on gborg or somewhere else?
 
 It's already in CPAN.  A link to CPAN should suffice, IMHO.
 
 I also thought we were discussing trimming the tree; and that was a good 
 feeling.

Lamar, you said earlier today:

 And the sooner our very old perl client goes away, the better I like it.  It 
 is a good client, don't get me wrong: but DBD:Pg is the standard now.

So I assumed you wanted DBD:Pg.  DBD:Pg is a good example of an
interface that hasn't advanced a quickly as it would have had it been in
our CVS tree.  I have received a number of bug reports for it, and have
them in my mailbox.  I have no idea if they made it into the CPAN
version.  Moving interfaces out can be a problem too unless there is a
large enough group to grow it.

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 853-3000
  +  If your life is a hard drive, |  830 Blythe Avenue
  +  Christ can be your backup.|  Drexel Hill, Pennsylvania 19026

---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



Re: [HACKERS] PITR, checkpoint, and local relations

2002-08-01 Thread J. R. Nield

On Thu, 2002-08-01 at 17:14, Bruce Momjian wrote:
 
 J.R needs comments on this.  PITR has problems because local relations
 aren't logged to WAL.  Suggestions?
 
I'm sorry if it wasn't clear. The issue is not that local relations
aren't logged to WAL, they are. The issue is that you can't checkpoint
them. That means if you need a lower bound on the LSN to recover from,
then you either need to wait for transactions using them all to commit
and flush their local buffers, or there needs to be a async way to tell
them all to flush.

I am working on a way to do this with a signal, using holdoffs around
calls into the storage-manager and VFS layers to prevent re-entrant
calls. The local buffer manager is simple enough that it should be
possible to flush them from within a signal handler at most times, but
the VFS and storage manager are not safe to re-enter from a handler.

Does this sound like a good idea?

-- 
J. R. Nield
[EMAIL PROTECTED]




---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



[HACKERS] FUNC_MAX_ARGS benchmarks

2002-08-01 Thread Neil Conway

Ok, here are some crude benchmarks to attempt to measure the effect of
changing FUNC_MAX_ARGS. The benchmark script executed:

CREATE FUNCTION test_func(int, int, int, int, int, int, int, int)
RETURNS INTEGER AS 'SELECT $1 + $2 + $3 + $4 + $5 + $6 + $7 + $8'
LANGUAGE 'sql' VOLATILE;

Followed by 30,000 calls of:

SELECT test_func(i, i, i, i, i, i, i, i);

(Where i was the iteration number)

I ran the test several times and averaged the results -- the wall-clock
time remained very consistent throughout the runs. Each execution of the
script took about 30 seconds. The machine was otherwise idle, and all
other PostgreSQL settings were at their default values.

With FUNC_MAX_ARGS=16:

28.832
28.609
28.726
28.680

(average = 28.6 seconds)

With FUNC_MAX_ARGS=32:

29.097
29.337
29.138
28.985
29.231

(average = 29.15 seconds)

Cheers,

Neil

-- 
Neil Conway [EMAIL PROTECTED]
PGP Key ID: DB3C29FC

---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



  1   2   >