Re: [HACKERS] Cursor support in pl/pg

2001-04-26 Thread Ian Lance Taylor

Jan Wieck [EMAIL PROTECTED] writes:

 IIRC  the  patch  only  provides  the  syntax  for  CURSOR to
 PL/pgSQL. Not real cursor support on the SPI level.  So  it's
 still the same as before, the backend will try to suck up the
 entire resultset into the SPI tuple table (that's memory) and
 die if it's huge enough.
 
 What  we  really need is an improvement to the SPI manager to
 support cursor (or cursor  like  behaviour  through  repeated
 executor calls).

Agreed, but as I may have said before, 1) the problem you describe
already exists in PL/pgSQL when using the FOR x IN SELECT statement,
2) the PL/pgSQL cursor patch is useful without the improvement to the
SPI layer, 3) I would argue that the PL/pgSQL cursor patch is still
needed after the SPI layer is improved.

So I do not think that is a valid argument against installing the
PL/pgSQL cursor patch.

Ian

---(end of broadcast)---
TIP 83: The only thing cheaper than hardware is talk.

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



[HACKERS] Important news about PgAdmin Drop/create functions, triggers and views and relink the whole system without restarting PostgreSQL

2001-04-26 Thread Jean-Michel POURE

Dear friends,

PgAdmin provides new features for dropping/creating functions, triggers and 
views and relinking the whole system without restarting PostgreSQL.
By now, this new feature is only available as a patch to PgAdmin 
http://www.greatbridge.org/project/pgadmin/patch/patchlist.php.

If you are curious reading the code, download and install the patch.
Don't use the patch on production systems, because there are still a lot of 
bugs.
Otherwise, wait until Dave Page integrates the code in the CVS.
I will inform you by mail when you can start using this new feature.

When all this is implemented in PgAdmin, I will also provide you with 
PL/pgSQL code to perform the same things server-side.
By now, I don't really know if we can run all this stuff in a single 
transaction. Any idea?

Help welcome on PgAdmin project, we need volunteers and feedback 
http://www.greatbridge.org/pipermail/pgadmin-hackers/.
We are always looking for beta testers, new members and developers.

Some great new features that will transform PgAdmin into the most advanced 
IDE for PostgreSQL:
- query/code loader in WDDX format for use in Php/C++/Perl/VB.
- postgresql packages.
- syntax checking and highlighting.

And also:
- PL/SQL Universal Schema: a set of PL/SQL functions to administer/migrate 
from/to Oracle, PostgreSQL and Ms SQL Server transparently.
If you are interested by PL/SQL Universal Schema, why not open a new branch 
on PostgreSQL CVS, otherwise I will host the project on Greatbridge.
Environments such as Php or Klyx should be able to administer databases 
without the use of odbc and Microbsoft stuff.
- PostgreSQL WDDX support (seems easy, is it really?).
- I do not agree that the ALTER FUNCTION etc... should be delayed to 7.2 
release. By now, it is impossible to do serious development without 
breaking dependencies somewhere. PostgreSQL is intended for end-users, right ?

Other information: I do not work for Greatbridge, these are complete and 
pure GPL open source contributions.
So, don't hesitate to visit http://www.greatbridge.org which provides 
excellent tools for developers.

Greetings from Jean-Michel POURE, Paris, France
Axitrad, CEO


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

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



Re: [HACKERS] refusing connections based on load ...

2001-04-26 Thread Vince Vielhaber

On Wed, 25 Apr 2001, The Hermit Hacker wrote:

 On Wed, 25 Apr 2001, Vince Vielhaber wrote:

  On Wed, 25 Apr 2001, Tom Lane wrote:
 
   The Hermit Hacker [EMAIL PROTECTED] writes:
Autoconf has a 'LOADAVG' check already, so what is so problematic about
using that to enabled/disable that feature?
  
   Because it's tied to a GNU getloadavg.c implementation, which we'd have
   license problems with using.
 
  It's part of the standard C library in FreeBSD.  Any other platforms
  have it built in?

 As has been mentioned, Solaris and Linux also have it ...

But what's in FreeBSD's standard library isn't GNU.

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 5: Have you checked our extensive FAQ?

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



Re: [HACKERS] refusing connections based on load ...

2001-04-26 Thread The Hermit Hacker

On Thu, 26 Apr 2001, Vince Vielhaber wrote:

 On Wed, 25 Apr 2001, The Hermit Hacker wrote:

  On Wed, 25 Apr 2001, Vince Vielhaber wrote:
 
   On Wed, 25 Apr 2001, Tom Lane wrote:
  
The Hermit Hacker [EMAIL PROTECTED] writes:
 Autoconf has a 'LOADAVG' check already, so what is so problematic about
 using that to enabled/disable that feature?
   
Because it's tied to a GNU getloadavg.c implementation, which we'd have
license problems with using.
  
   It's part of the standard C library in FreeBSD.  Any other platforms
   have it built in?
 
  As has been mentioned, Solaris and Linux also have it ...

 But what's in FreeBSD's standard library isn't GNU.

Wouldn't matter if it was, its part of the OSs standard library ... unless
you mean to pull it in and use it with the distribution, which I think
might be a bad idea ... if we pull anything in, sendmail's would be best
... FreeBSD's will have had anything required for non-FreeBSD systems
yanked out, if it was ever there, while sendmail's already has all the
'hooks' in it ...



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



Re: [HACKERS] refusing connections based on load ...

2001-04-26 Thread Vince Vielhaber

On Thu, 26 Apr 2001, The Hermit Hacker wrote:

 On Thu, 26 Apr 2001, Vince Vielhaber wrote:

  On Wed, 25 Apr 2001, The Hermit Hacker wrote:
 
   On Wed, 25 Apr 2001, Vince Vielhaber wrote:
  
On Wed, 25 Apr 2001, Tom Lane wrote:
   
 The Hermit Hacker [EMAIL PROTECTED] writes:
  Autoconf has a 'LOADAVG' check already, so what is so problematic about
  using that to enabled/disable that feature?

 Because it's tied to a GNU getloadavg.c implementation, which we'd have
 license problems with using.
   
It's part of the standard C library in FreeBSD.  Any other platforms
have it built in?
  
   As has been mentioned, Solaris and Linux also have it ...
 
  But what's in FreeBSD's standard library isn't GNU.

 Wouldn't matter if it was, its part of the OSs standard library ... unless
 you mean to pull it in and use it with the distribution, which I think
 might be a bad idea ... if we pull anything in, sendmail's would be best
 ... FreeBSD's will have had anything required for non-FreeBSD systems
 yanked out, if it was ever there, while sendmail's already has all the
 'hooks' in it ...

That wasn't what I was saying at all.

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 5: Have you checked our extensive FAQ?

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



[HACKERS] concurrent postgres in NUMA cluster postgres - design OK ?

2001-04-26 Thread Mauricio Breternitz


Folks:
 I'm planning a port of Postgres to a multiprocessor
architecture in which all nodes have both local memory 
and fast access to a shared memory. Shared memory it more
expensive than local memory.

My intent is to put the shmem  lock structures in
shared memory, but use a copy-in / copy-out approach to
maintain coherence in the buffer cache:
- copy buffer from shared memroy on buffer allocate
- write back buffer to shared memory when it is dirtied.

Is that enough ?

The idea sketch is as follows (mostly, changes
contained in storage/buffer/bufmgr.c):

-change BufferAlloc, etc, to create a node-local copy
of the buffer (from shared memory). Copy both the BufferDesc
entry and the buffer-data array

-change WriteBuffer to copy the (locally changed) buffer
to shared memory (this is the point in which the BM_DIRTY
bit is set). [ I am assuming the buffer is locked  this
is a safe time to make the buffer visible to other backends].

[Assume, for this discussion, that the sem / locks structs in
shared memory have been ported  work ]. Ditto for the hash access.

My concern is whether that is enough to maintain consistency
in the buffer cache (i.e, are there other places in the code
where a backend might have a leftover pointer to somewhere in
the buffer cache ? ) Because, in the scheme above, the buffer
cache is not directly accessible to the backend except via this
copy in / copy -out approach.

[BTW, I think this might be a way of providing a 'cluster'
version of Postgers, by using some global communication module to 
obtain/post the 'buffer cache' values]

thanks
regards
Mauricio

Mauricio Breternitz Jr, Ph.D.
Times N Systems Inc.
1908 Kramer Ln, Braker Building B, Suite P
Austin, TX 78758
phone (512) 977 5368
[EMAIL PROTECTED] 

Mauricio Breternitz Jr, Ph.D.
Times N Systems Inc.
1908 Kramer Ln, Braker Building B, Suite P
Austin, TX 78758
phone (512) 977 5368
[EMAIL PROTECTED] 

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

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



[HACKERS] scaling multiple connections

2001-04-26 Thread mlw

I am getting a bit concerned about Postgres 7.1 performance with multiple
connections. Postgres does not seem to scaling very well. Below there is a list
of outputs from pgbench with different number of clients, you will see that
postgres' performance in the benchmark drops with each new connection.
Shouldn't the tps stay fairly constant?

I am using pgbench because I saw this performance issue with a project I was
developing. I decided to try doing operations in parallel, thinking that
postgres would scale. What I found was the more machines I added to the task,
the slower the processing was. 

Anyone have any ideas? Is this how it is supposed to be?

My postmaster start line looks like:
/usr/local/pgsql/bin/postmaster -A0 -N 24 -B 4096 -i -S -D/sqlvol/pgdev -o -F
-fs -S 2048

The database is on a dedicated PCI-IDE/66 promise card, with a 5400rpm maxtor
drive, not the best hardware, I grant you, but that should have little to do
with the scaling aspect.

I am running redhat linux 7.0, kernel 2.4.3. 512M ram, dual PIII 600mhz.

[markw@snoopy pgbench]$ ./pgbench -v  -c 1  -t 30 pgbench
starting vacuum...end.
starting full vacuum...end.
transaction type: TPC-B (sort of)
scaling factor: 1
number of clients: 1
number of transactions per client: 30
number of transactions actually processed: 30/30
tps = 218.165952(including connections establishing)
tps = 245.062001(excluding connections establishing)
[markw@snoopy pgbench]$ ./pgbench -v  -c 2  -t 30 pgbench
starting vacuum...end.
starting full vacuum...end.
transaction type: TPC-B (sort of)
scaling factor: 1
number of clients: 2
number of transactions per client: 30
number of transactions actually processed: 60/60
tps = 200.861024(including connections establishing)
tps = 221.175326(excluding connections establishing)
[markw@snoopy pgbench]$ ./pgbench -v  -c 3  -t 30 pgbench
starting vacuum...end.
starting full vacuum...end.
transaction type: TPC-B (sort of)
scaling factor: 1
number of clients: 3
number of transactions per client: 30
number of transactions actually processed: 90/90
tps = 144.053242(including connections establishing)
tps = 154.083205(excluding connections establishing)
[markw@snoopy pgbench]$ ./pgbench -v  -c 4  -t 30 pgbench
starting vacuum...end.
starting full vacuum...end.
transaction type: TPC-B (sort of)
scaling factor: 1
number of clients: 4
number of transactions per client: 30
number of transactions actually processed: 120/120
tps = 129.709537(including connections establishing)
tps = 137.852284(excluding connections establishing)
[markw@snoopy pgbench]$ ./pgbench -v  -c 5  -t 30 pgbench
starting vacuum...end.
starting full vacuum...end.
transaction type: TPC-B (sort of)
scaling factor: 1
number of clients: 5
number of transactions per client: 30
number of transactions actually processed: 150/150
tps = 103.569559(including connections establishing)
tps = 108.535287(excluding connections establishing)


...

[markw@snoopy pgbench]$ ./pgbench -v  -c 20  -t 30 pgbench
starting vacuum...end.
starting full vacuum...end.
transaction type: TPC-B (sort of)
scaling factor: 1
number of clients: 20
number of transactions per client: 30
number of transactions actually processed: 600/600
tps = 40.600209(including connections establishing)
tps = 41.352773(excluding connections establishing)

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



Re: [HACKERS] refusing connections based on load ...

2001-04-26 Thread Len Morgan

Nathan Myers wrote:
 On Mon, Apr 23, 2001 at 03:09:53PM -0300, The Hermit Hacker wrote:
 
  Anyone thought of implementing this, similar to how sendmail does it?
If
  load  n, refuse connections?
  ...
  If nobody is working on something like this, does anyone but me feel
that
  it has merit to make use of?  I'll play with it if so ...

 I agree that it would be useful.  Even more useful would be soft load
 shedding, where once some load average level is exceeded the postmaster
 delays a bit (proportionately) before accepting a connection.

Or  have  the  load  check  on  AtXactStart,  and  delay  new
transactions  until  load  is  back  below  x,  where  x   is
configurable  per  user/group  plus some per database scaling
factor.

How is this different than limiting the number of backends that can be
running at once?  It would seem to me that a user that has a delayed
startup is going to think there's something wrong with the server and keep
trying, where as a message like too many clients - try again later
explains what's really going on.

len morgan


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



[HACKERS] pg_log file corrupted

2001-04-26 Thread YekFu . Wong


Hi,
I think the pg_log file of my postgreSQL is corrupted.
I can;t access to tables in my database now.
The error message appear when I tried to list all tables is as below :
 cannot flush block 8 of pg_log to stable store 
Anybody know how can I restore back the pg_log file.
Thanks.

Emmanuel Wong




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

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



[HACKERS] ERROR: parser: parse error at or near JOIN

2001-04-26 Thread Fernando Nasser

Is anyone else seeing this?

I have the current CVS sources and make check ends up with one
failure.  My regression.diffs shows:


*** ./expected/join.out Thu Dec 14 17:30:45 2000
--- ./results/join.out  Mon Apr 23 20:23:15 2001
***
*** 1845,1851 
  -- UNION JOIN isn't implemented yet
  SELECT '' AS xxx, *
FROM J1_TBL UNION JOIN J2_TBL;
! ERROR:  UNION JOIN is not implemented yet
  --
  -- Clean up
  --
--- 1845,1851 
  -- UNION JOIN isn't implemented yet
  SELECT '' AS xxx, *
FROM J1_TBL UNION JOIN J2_TBL;
! ERROR:  parser: parse error at or near JOIN
  --
  -- Clean up
  --

==


-- 
Fernando Nasser
Red Hat Canada Ltd. E-Mail:  [EMAIL PROTECTED]
2323 Yonge Street, Suite #300
Toronto, Ontario   M4P 2C9

---(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] refusing connections based on load ...

2001-04-26 Thread Neal Norwitz

Tom Lane wrote:

 A less dangerous way of approaching it might be to have an option
 whereby the postmaster invokes 'uptime' via system() every so often
 (maybe once a minute?) and throttles on the basis of the results.
 The reaction time would be poorer, but security would be a whole lot
 better.

Rather than do system('uptime') and incur the process start-up each time,
you could do fp = popen('vmstat 60', 'r'), then just read the fp.

I believe vmstat is fairly standard.  For those systems 
which don't support vmstat, it could be faked with a shell script.

You could write the specific code to handle each arch, but it's
a royal pain, because it's so different for many archs.

Another possibility could be to read from /proc for those systems
that support /proc.  But I think this will be more variable than
the output from vmstat.  Vmstat also has the added benefit of
providing other information.

I agree with Tom about not wanting to open up /dev/kmem, 
due to potential security problems.

Neal

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

http://www.postgresql.org/search.mpl



Re: [HACKERS] ERROR: parser: parse error at or near JOIN

2001-04-26 Thread Fernando Nasser

Please disregard this.  This message was held by Majordomo for a couple
of days and I have already resent it.

Tom Lane has already solved my problem (I had a miscompiled version of
bison in my machine).

Regards to all,
Fernando


Fernando Nasser wrote:
 
 Is anyone else seeing this?
 
 I have the current CVS sources and make check ends up with one
 failure.  My regression.diffs shows:
 
 *** ./expected/join.out Thu Dec 14 17:30:45 2000
 --- ./results/join.out  Mon Apr 23 20:23:15 2001
 ***
 *** 1845,1851 
   -- UNION JOIN isn't implemented yet
   SELECT '' AS xxx, *
 FROM J1_TBL UNION JOIN J2_TBL;
 ! ERROR:  UNION JOIN is not implemented yet
   --
   -- Clean up
   --
 --- 1845,1851 
   -- UNION JOIN isn't implemented yet
   SELECT '' AS xxx, *
 FROM J1_TBL UNION JOIN J2_TBL;
 ! ERROR:  parser: parse error at or near JOIN
   --
   -- Clean up
   --
 

-- 
Fernando Nasser
Red Hat Inc. E-Mail:  [EMAIL PROTECTED]

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



[HACKERS] unanswered: Schema Issue

2001-04-26 Thread V. M.


I want to extract tables schema information, i've looked at
src/bin/psql/describe.c  but i cannot determine the datatype
'serial' and
'references' from pg_*, i understand that triggers are generated for
serial
and references, so how i can understand from my perl application the
full
schema ?

thanks,
valter

_
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.


---(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] RI oddness

2001-04-26 Thread Jan Wieck

Jan Wieck wrote:
 Just  discussed  it  with  Tom  Lane  while he'd been here in
 Norfolk and it's even more ugly. We couldn't  even  pull  out
 the  FK's  column  defaults  at  this time to check if we are
 about to delete the corresponding PK because they might  call
 all  kinds  of  functions  with tons of side effects we don't
 want.

 Seems the only way to do it cleanly is  to  have  the  parser
 putting  the  information  which TLEs are *OLD* and which are
 *NEW* somewhere and pass it all  down  through  the  executor
 (remembering it per tuple in the deferred trigger queue) down
 into the triggers.

While  we  know about the *right* way to fix it, that's a far
too big of a change for 7.1.1.   But  I'd  like  to  fix  the
likely deadlocks caused by referential integrity constraints.

What'd be easy is this:

-   We already have two entry points for INSERT/UPDATE on  FK
table, but the one for UPDATE is fortunately unused.

-   We  change  analyze.c  to  install  the RI_FKey_check_upd
trigger if the constraint has an ON  DELETE  SET  DEFAULT
clause.  Otherwise  it  uses RI_FKey_check_ins as it does
now.

-   We change ri_triggers.c so  that  RI_FKey_check_ins  will
skip  the  PK  check  if the FK attributes did not change
while RI_FKey_check_upd will enforce the check allways.

This way it'll  automatically  gain  a  performance  win  for
everyone using referential integrity.

The  bad  side  effect  is, that these changes will require a
dump/reload FOR DATABASES, where ON  DELETE  SET  DEFAULT  is
used.  If  they don't dump/reload, it'll open the possibility
of violating constraints  that  are  defined  ON  DELETE  SET
DEFAULT  by  deleting  the  PK  that  consists  of the column
defaults of  an  existing  FK  reference.  The  DELETE  would
succeed and the stall references remain.

I  think  the  usage  of ON DELETE SET DEFAULT is a very rare
case out in the field. Thus the  dump/reload  requirement  is
limited  to  a small number of databases (if any). It is easy
to detect if a DB's schema contains this clause by looking up
pg_trigger  for  usage  of  RI_FKey_setdefault_del.  We could
provide  a  small  script  telling   which   databases   need
dump/reload.

Comments?


Jan

--

#==#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.  #
#== [EMAIL PROTECTED] #



_
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


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

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



[HACKERS] Re: [GENERAL] Re: Hardcopy docs available

2001-04-26 Thread Thomas Lockhart

  If someone wants to run the A4 docs through a PDF converter, send 'em to
  me and I'll post them too.
 I just did the userA4 pdf from hub with this:
 $ gzcat userA4.ps.gz | ps2pdf -  userA4.pdf
 Do you want me to do the rest of them?   Or we can probably have the
 makindex script do it for us.

Sure. Anything is fine.

   - Thomas

---(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] scaling multiple connections

2001-04-26 Thread Tom Lane

mlw [EMAIL PROTECTED] writes:
 I am getting a bit concerned about Postgres 7.1 performance with
 multiple connections. Postgres does not seem to scaling very
 well. Below there is a list of outputs from pgbench with different
 number of clients, you will see that postgres' performance in the
 benchmark drops with each new connection.  Shouldn't the tps stay
 fairly constant?

There was quite a long thread about this in pghackers back in Jan/Feb
(or so).  You might want to review it.  One thing I recall is that
you need a scaling factor well above 1 if you want meaningful results
--- at scale factor 1, all of the transactions want to update the same
row, so of course there's no parallelism and a lot of lock contention.

The default WAL tuning parameters (COMMIT_DELAY, WAL_SYNC_METHOD, and
friends) are probably not set optimally in 7.1.  We are hoping to hear
about some real-world performance results so that we can tweak them in
future releases.  I do not trust benchmarks as simplistic as pgbench for
doing that kind of tweaking, however.

regards, tom lane

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



Re: [HACKERS] Cursor support in pl/pg

2001-04-26 Thread Ian Lance Taylor

Jan Wieck [EMAIL PROTECTED] writes:

 I  don't  object if we can be sure that it's implementing the
 syntax a final version with *real* cursor support will  have.
 Can we?

I don't know, and I don't know what the decision criteria are.

I intentionally implemented the Oracle cursor syntax.  PL/pgSQL is
very similar to PL/SQL, and I didn't see any reason to introduce a
spurious difference.  Note in particular that simply passing
OPEN/FETCH/CLOSE through to the Postgres SQL parser does not implement
the Oracle cursor syntax, so I wouldn't have done that even if it
would have worked.

(I have a vested interest here.  For various reasons, my company,
Zembu, has an interest in minimizing the strain of porting
applications from Oracle to Postgres.  I assume that the Postgres team
also has that interest, within reason.  But I don't know for sure.)

Ian

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

http://www.postgresql.org/search.mpl



[HACKERS] Re: scaling multiple connections

2001-04-26 Thread mlw

Tom Lane wrote:
 
 mlw [EMAIL PROTECTED] writes:
  I am getting a bit concerned about Postgres 7.1 performance with
  multiple connections. Postgres does not seem to scaling very
  well. Below there is a list of outputs from pgbench with different
  number of clients, you will see that postgres' performance in the
  benchmark drops with each new connection.  Shouldn't the tps stay
  fairly constant?
 
 There was quite a long thread about this in pghackers back in Jan/Feb
 (or so).  You might want to review it.  One thing I recall is that
 you need a scaling factor well above 1 if you want meaningful results
 --- at scale factor 1, all of the transactions want to update the same
 row, so of course there's no parallelism and a lot of lock contention.
 
 The default WAL tuning parameters (COMMIT_DELAY, WAL_SYNC_METHOD, and
 friends) are probably not set optimally in 7.1.  We are hoping to hear
 about some real-world performance results so that we can tweak them in
 future releases.  I do not trust benchmarks as simplistic as pgbench for
 doing that kind of tweaking, however.
 
I agree with you about the benchmarks, but it does behave similar to what I
have in my app, which is why I used it for an example.

If you are familiar with cddb (actually freedb.org) I am taking that data in
putting it into postgres. The steps are: (pseudo code)

select nextval('cdid_seq');

begin;

insert into titles (...) values (...);

for(i=0; i  tracks; i++)
insert into tracks (...) values (...);

commit;


When running stand alone on my machine, it will hovers around 130 full CDs per
second. When I start two processes it drops to fewer than 100 inserts per
second. When I add another, it drops even more. The results I posted with
pgbench pretty much showed what I was seeing in my program.

I hacked the output of pgbench to get me tabbed delimited fields to chart, but
it is easier to look at, see the results below. This is the same build and same
startup scripts on the two different machines. I know this isn't exactly
scientific, but I have a few bells going off suggesting that postgres has some
SMP scaling issues.


My Dual PIII 600MHZ, 500M RAM, Linux 2.4.3 SMP
pg_xlog is pointed to a different drive than is base.
I/O Promise dual IDE/66, xlog on one drive, base on another.

count transaction   time (excluding connection)
1   32  175.116
2   32  138.288
3   32  102.890
4   32  88.243
5   32  77.024
6   32  62.648
7   32  61.231
8   32  60.017
9   32  56.034
10  32  57.854
11  32  50.812
12  32  53.019
13  32  50.289
14  32  46.421
15  32  44.496
16  32  45.297
17  32  41.725
18  32  46.048
19  32  45.007
20  32  41.584
21  32  43.420
22  32  39.640
23  32  43.250
24  32  41.617
25  32  42.511
26  32  38.369
27  32  38.919
28  32  38.813
29  32  39.242
30  32  39.859
31  32  37.938
32  32  41.516


Single processor PII 450, 256M, Linux 2.2.16
pg_xlog pointing to different drive than base
I/O Adaptec 2940, Two seagate barracudas.

count transaction   time (excluding connection)

1   32  154.539
2   32  143.609
3   32  144.608
4   32  141.718
5   32  128.759
6   32  154.388
7   32  144.097
8   32  149.828
9   32  143.092
10  32  146.548
11  32  141.613
12  32  139.692
13  32  137.425
14  32  137.227
15  32  134.669
16  32  128.277
17  32  127.440
18  32  121.224
19  32  121.915
20  32  120.740
21  32  118.562
22  32  116.271
23  32  113.883
24  32  113.558
25  32  109.293
26  32  108.782
27  32  108.796
28  32  105.684
29  32  103.614
30  32  102.232
31  32  100.514
32  32  99.339

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



Re: [HACKERS] RI oddness

2001-04-26 Thread Tom Lane

Jan Wieck [EMAIL PROTECTED] writes:
 What'd be easy is this:

 -   We already have two entry points for INSERT/UPDATE on  FK
 table, but the one for UPDATE is fortunately unused.

 -   We  change  analyze.c  to  install  the RI_FKey_check_upd
 trigger if the constraint has an ON  DELETE  SET  DEFAULT
 clause.  Otherwise  it  uses RI_FKey_check_ins as it does
 now.

Unfortunately, such a fix really isn't going to fly as a patch release.
Not only does it not work for existing tables, but it won't work for
tables created by dump and reload from a prior version (since they
won't have the right set of triggers ... another illustration of why
the lack of an abstract representation of the RI constraints was a
Bad Move).  In fact I'm afraid that your proposed change would actively
break tables imported from a prior version; wouldn't RI_FKey_check_ins
do the wrong thing if applied as an update trigger?

 I  think  the  usage  of ON DELETE SET DEFAULT is a very rare
 case out in the field. Thus the  dump/reload  requirement  is
 limited  to  a small number of databases (if any).

But dump/reload won't fix the tables' triggers.

Given that ON DELETE SET DEFAULT isn't used much, I think we should
not waste time creating an incomplete hack solution for 7.1.*, but
just write it off as a known bug and move forward with a real solution
for 7.2.

regards, tom lane

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



Re: [HACKERS] RI oddness

2001-04-26 Thread Jan Wieck

Tom Lane wrote:
 Jan Wieck [EMAIL PROTECTED] writes:
  What'd be easy is this:

  -   We already have two entry points for INSERT/UPDATE on  FK
  table, but the one for UPDATE is fortunately unused.

  -   We  change  analyze.c  to  install  the RI_FKey_check_upd
  trigger if the constraint has an ON  DELETE  SET  DEFAULT
  clause.  Otherwise  it  uses RI_FKey_check_ins as it does
  now.

 Unfortunately, such a fix really isn't going to fly as a patch release.
 Not only does it not work for existing tables, but it won't work for
 tables created by dump and reload from a prior version (since they
 won't have the right set of triggers ... another illustration of why
 the lack of an abstract representation of the RI constraints was a
 Bad Move).  In fact I'm afraid that your proposed change would actively
 break tables imported from a prior version; wouldn't RI_FKey_check_ins
 do the wrong thing if applied as an update trigger?

  I  think  the  usage  of ON DELETE SET DEFAULT is a very rare
  case out in the field. Thus the  dump/reload  requirement  is
  limited  to  a small number of databases (if any).

 But dump/reload won't fix the tables' triggers.

Ech - you're right. It wouldn't fix 'em.


 Given that ON DELETE SET DEFAULT isn't used much, I think we should
 not waste time creating an incomplete hack solution for 7.1.*, but
 just write it off as a known bug and move forward with a real solution
 for 7.2.

It's  not  the  rarely used ON DELETE SET DEFAULT case that's
currently broken. It's ALL the other cases  that  can  easily
cause  you  to end up in deadlocks if you just update another
field in a table having foreign keys and you don't  lock  all
referenced rows properly first.  Given the table:

CREATE TABLE sample (
a integer   REFERENCES t1,
b integer   REFERENCES t2,
c integer   REFERENCES t3,
d integer   REFERENCES t4,
data text
);

you'd  have to SELECT ... FOR UPDATE tables t1, t2, t3 and t4
(while NOT having a lock on sample) before you  can  safely
update  data. Otherwise, another transaction could lock one
of those and try to lock your sample row  and  you  have  a
deadlock.

We  could  provide  another script fixing it. It is run after
the restore of a dump taken from a pre-7.1.1 database  fixing
the  tgfoid  for  those  triggers  that use RI_FKey_check_ins
where a matching RI_FKey_setdefault_del row exist  with  same
arguments and constraint name.


Jan

--

#==#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.  #
#== [EMAIL PROTECTED] #



_
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


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

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



[HACKERS] Re: unanswered: Schema Issue

2001-04-26 Thread Joel Burton

On Thu, 26 Apr 2001, V. M. wrote:

 ok for  serials, now i can extract from psql (\d tablename).
 
 But i'm not able to extract foreign keys from the schema.

Yes you can. Read my tutorial on Referential Integrity in the top section
at techdocs.postgresql.org.

-- 
Joel Burton   [EMAIL PROTECTED]
Director of Information Systems, Support Center of Washington


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



Re: [HACKERS] Cursor support in pl/pg

2001-04-26 Thread Jan Wieck

Ian Lance Taylor wrote:
 Jan Wieck [EMAIL PROTECTED] writes:

  I  don't  object if we can be sure that it's implementing the
  syntax a final version with *real* cursor support will  have.
  Can we?

 I don't know, and I don't know what the decision criteria are.

 I intentionally implemented the Oracle cursor syntax.  PL/pgSQL is
 very similar to PL/SQL, and I didn't see any reason to introduce a
 spurious difference.  Note in particular that simply passing
 OPEN/FETCH/CLOSE through to the Postgres SQL parser does not implement
 the Oracle cursor syntax, so I wouldn't have done that even if it
 would have worked.

Maybe  it's  very  similar  because  I had an Oracle PL/SQL
language reference at hand while writing  the  grammar  file,
maybe it's just by accident :-)


 (I have a vested interest here.  For various reasons, my company,
 Zembu, has an interest in minimizing the strain of porting
 applications from Oracle to Postgres.  I assume that the Postgres team
 also has that interest, within reason.  But I don't know for sure.)

Who hasn't? O.K., you convinced me.


Jan

--

#==#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.  #
#== [EMAIL PROTECTED] #



_
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


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

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



[HACKERS] Re: unanswered: Schema Issue

2001-04-26 Thread V. M.

ok for  serials, now i can extract from psql (\d tablename).

But i'm not able to extract foreign keys from the schema.



From: Joel Burton [EMAIL PROTECTED]
To: V. M. [EMAIL PROTECTED]
CC: [EMAIL PROTECTED]
Subject: Re: unanswered: Schema Issue
Date: Thu, 26 Apr 2001 13:51:26 -0400 (EDT)

On Thu, 26 Apr 2001, V. M. wrote:

 
  I want to extract tables schema information, i've looked at
  src/bin/psql/describe.c  but i cannot determine the datatype
  'serial' and
  'references' from pg_*, i understand that triggers are generated for
  serial
  and references, so how i can understand from my perl application the
  full
  schema ?

SERIALs are just integers (int4). They don't use a trigger, but use a
sequence
as a default value.

REFERENCES are not a type of data, but a foreign key/primary key
relationship. There's still a data type (int, text, etc.)

You can derive schema info from the system catalogs. Use psql with -E for
examples, or look in the Developer Manual.

HTH,

--
Joel Burton   [EMAIL PROTECTED]
Director of Information Systems, Support Center of Washington


_
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.


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

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



Re: [HACKERS] Re: unanswered: Schema Issue

2001-04-26 Thread V. M.

read it,
but i can determine only the related tables and not the fields of these 
tables that are related.

valter

From: Joel Burton [EMAIL PROTECTED]
To: V. M. [EMAIL PROTECTED]
CC: [EMAIL PROTECTED]
Subject: [HACKERS] Re: unanswered: Schema Issue
Date: Thu, 26 Apr 2001 14:42:31 -0400 (EDT)

On Thu, 26 Apr 2001, V. M. wrote:

  ok for  serials, now i can extract from psql (\d tablename).
 
  But i'm not able to extract foreign keys from the schema.

Yes you can. Read my tutorial on Referential Integrity in the top section
at techdocs.postgresql.org.

--
Joel Burton   [EMAIL PROTECTED]
Director of Information Systems, Support Center of Washington


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

_
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.


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



[HACKERS] status after 7.1 and pgcrypto update / crypt(table.field) ?

2001-04-26 Thread Marko Kreen

On Thu, Apr 26, 2001 at 05:20:53PM +0200, Peter Eisentraut wrote:
 will trillich writes:
  i know password can be used in creating/altering user
  information (as used via GRANT and REVOKE) but is there any
  facility within postgres to CRYPT() a value?
 
 See contrib/pgcrypto for hashing functions.

Problem is the hashing functions are not good for
password storage.


A general question: what is the status on patch acceptance
now, after 7.1 is successfully released?  I did not
want to fuzz around with new code when 7.1 was in freeze,
but what is the status now?

Specifically - pgcrypto current state:

In the pgsql/contrib:

* digest() / encode() - stable.

In my pgcrypto separate release:

* digest() / encode() / hmac() - stable.
  I have changed the internal interfaces compared to main CVS.

* crypt() / gen_salt() - stable.  DES/MD5/Blowfish crypt()
  (Blowfish is unreleased).  Code seems to be working quite
  well.

* encrypt() / decrypt() - unstable.  Not in the 'buggy'-sense,
  but the 0.3 encrypt() is unsatisfactory for long-term storage
  and security and compatibility.  Also their spec is confusing
  to users.  In the next release they will be renamed
  raw_encrypt() / raw_decrypt() as they really are interfaces
  to raw ciphers.  I keep them coz they are good for testing
  pgcrypto code ;) and also they are ok for crypting short
  strings.

* future: encrypt() / decrypt() will be minimal implementation
  of OpenPGP standard (RFC2440). Symmetrically Encrypted Data
  with passwords.  (Is it too big? - The crypted data needs some
  structure and I dont think inventing some own format is good.)

Now for this OpenPGP stuff I dont have ATM not even
alpha-quality code.  So full release takes some time.
But hmac() and crypt() code is quite ok and there is no point
on me sitting on it alone.

So I would like to submit the mostly ready parts to main
tree.  When is the right time for it?


-- 
marko


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

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



Re: [HACKERS] Re: unanswered: Schema Issue

2001-04-26 Thread V. M.

perhaps adding  t.tgargs to your view enable me to extract parameters
that are the related fields
---


CREATE VIEW dev_ri
AS
SELECT  * t.tgargs  , t.oid as trigoid,
c.relname as trig_tbl,
t.tgfoid,
f.proname as trigfunc,
t.tgenabled,
t.tgconstrname,
c2.relname as const_tbl,
t.tgdeferrable,
t.tginitdeferred
FROM pg_trigger t,
pg_class c,
pg_class c2,
pg_proc f
WHERE t.tgrelid=c.oid
AND t.tgconstrrelid=c2.oid
AND tgfoid=f.oid
AND tgname ~ '^RI_'
ORDER BY t.oid;


a tgargs example is:

fk_provincie_id_paesi_id_provin\000paesi\000province\000UNSPECIFIED\000id_provincia\000id\000

first field (fk_provincie_id_paesi_id_provin) is constraint name, and i can 
understand that:  paesi(id_provincia) references provincia(id).

valter




From: Joel Burton [EMAIL PROTECTED]
To: V. M. [EMAIL PROTECTED]
CC: [EMAIL PROTECTED]
Subject: [HACKERS] Re: unanswered: Schema Issue
Date: Thu, 26 Apr 2001 14:42:31 -0400 (EDT)

On Thu, 26 Apr 2001, V. M. wrote:

  ok for  serials, now i can extract from psql (\d tablename).
 
  But i'm not able to extract foreign keys from the schema.

Yes you can. Read my tutorial on Referential Integrity in the top section
at techdocs.postgresql.org.

--
Joel Burton   [EMAIL PROTECTED]
Director of Information Systems, Support Center of Washington


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

_
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.


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



[HACKERS] zpbit_in does not receive correct atttypmod

2001-04-26 Thread Peter Eisentraut

When I create a table

create table test (a bit(4));

and insert a value

insert into test values (b'11');

the zpbit_in() function gets an atttypmod (arg 2 (of 2)) of -1.  Is there
somewhere the system needs to be told that this type uses the atttypmod
field?

-- 
Peter Eisentraut   [EMAIL PROTECTED]   http://funkturm.homeip.net/~peter


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



Re: [HACKERS] status after 7.1 and pgcrypto update / crypt(table.field) ?

2001-04-26 Thread Tom Lane

Marko Kreen [EMAIL PROTECTED] writes:
 A general question: what is the status on patch acceptance
 now, after 7.1 is successfully released?  I did not
 want to fuzz around with new code when 7.1 was in freeze,
 but what is the status now?

We're still in bug-fixes-only mode.  I think the plan is to fork off
a 7.1 stable branch next week, and after that the floodgates will be
open for 7.2 development.

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] zpbit_in does not receive correct atttypmod

2001-04-26 Thread Tom Lane

Peter Eisentraut [EMAIL PROTECTED] writes:
 When I create a table
 create table test (a bit(4));
 and insert a value
 insert into test values (b'11');
 the zpbit_in() function gets an atttypmod (arg 2 (of 2)) of -1.  Is there
 somewhere the system needs to be told that this type uses the atttypmod
 field?

No.  I don't believe this is broken, either --- the call is coming from
make_const() which has no reason to try to coerce the constant to a
particular length.  Coercion to the target column width will happen
later (quite a bit later), when zpbit() is called.  See
coerce_type_typmod in parse_coerce.c.

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



[HACKERS] PAM Authentication for PostgreSQL...

2001-04-26 Thread Dominic J. Eidson


A couple {days,weeks} ago, someone sent an email to one of the pgsql-*
lists asking if anybody had thought about implementing the glue to use PAM
as authentication method for PostgreSQL. Having thought about being able
to easily drop in various external authentication agents, I've been
thinking about using PAM for PostgreSQL for a while... The recent thread
inspired me, and I have now finished (and tested - imagine that :) the
code.

I vaguely remember there were a few points brought up for discussion
during the short thread - unfortunately I was unable to find it in the
archives (the search somehow seems not to be working (anymore)) - and I
deleted all but one email - the one from Peter:

 Peter Eisentraut writes:
 Konstantinos Agouros writes:
  I would really like to be able to use external authentication-methods
  (the password not the itself) to avoid setting up pass- words.
 
 What particular method that does not use passwords are you interested in?

I think is question should be read as ... to avoid having to set up local
postgresql passwords.

... Imagine the following scenario:

Relatively large enterprise (6000+ employees), where several departments
have a need to use databases of various kinds. (Currently, unfortunately,
all Access Shared filesystem databases... Yuk.)

Nice shiny PostgreSQL server sitting in the corner with lots of
(currently) free disk space on it - places where, through ODBC, we could
stuff the data from all these access databases, and 1) get them off the
network (and off IPX), and 2) central repository that is easy to back up,
administrate, etc...

Now, it would be annoying to have to maintain local passwords for
PostgreSQL for all of the X number of users who will be having tablespace
on this server. This would be an excellent place for PAM, in cooperation
with something like pam_ldap - the module that lets PAM authenticate into
LDAP (which, in our case, sits on top of NDS, and contains all the
user/etc information.)

I have several other examples where this could come in handy (Oddly
enough, most of them involving LDAP... imagine that. :)


Is there any discussion before I submit the patch to -patches?


 -Dominic

-- 
Dominic J. Eidson
Baruk Khazad! Khazad ai-menu! - Gimli
---
http://www.the-infinite.org/  http://www.the-infinite.org/~dominic/





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



[HACKERS] Re: PAM Authentication for PostgreSQL...

2001-04-26 Thread Thomas Lockhart

 Is there any discussion before I submit the patch to -patches?

Since we can, or should be able to, run postgres as a backend to ldap,
this seems to give a wonderfully circular system (which probably works
just fine). Just a comment...

  - Thomas

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



Re: [HACKERS] applications hang when calling 'vacuum'

2001-04-26 Thread Denis Perchine

On Thursday 26 April 2001 23:36, Barnes, Sandy (Sandra) wrote:
  We are currently calling 'vacuum' from within our code, using the psql++
  PgDatabase ExecCommandOk() to send the SQL statement 'vacuum'.  I seems
  to work when we only have one process running, but when two processes
  (both invoking the vacuum) are running it immediately hangs.  Some
  postgres processes exist... one 'idle' and one 'VACUUM'.  The
  applications hang. I tried using the PgTransaction class to invoke the
  SQL but received an error stating that vacuum cannot be run in a
  transaction.
  Any ideas?

Can confirm this. This is also the case on my systems. I already told about 
this some time ago. There was no reply...

-- 
Sincerely Yours,
Denis Perchine

--
E-Mail: [EMAIL PROTECTED]
HomePage: http://www.perchine.com/dyp/
FidoNet: 2:5000/120.5
--

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



[HACKERS] 7.1 startup recovery failure

2001-04-26 Thread Hiroshi Inoue
Hi,
There's a report of startup recovery failure in Japan.
Redo done but ...
Unfortunately I have no time today.

regards,
Hiroshi Inoue

KAMI wrote:
 
 
 DEBUG:  database system shutdown was interrupted at 2001-04-26 22:15:00 JST
 DEBUG:  CheckPoint record at (1, 3923829232)
 DEBUG:  Redo record at (1, 3923829232); Undo record at (0, 0); Shutdown TRUE
 DEBUG:  NextTransactionId: 7473265; NextOid: 2550911
 DEBUG:  database system was not properly shut down; automatic recovery in
 progress...
 DEBUG:  redo starts at (1, 3923829296)
 DEBUG:  ReadRecord: record with zero len at (1, 3923880136)
 DEBUG:  redo done at (1, 3923880100)
 FATAL 2:  XLogFlush: request is not satisfied
 postmaster: Startup proc 4228 exited with status 512 - abort

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


[HACKERS] 7.1 vacuum

2001-04-26 Thread Magnus Naeslund\(f\)

How does 7.1 work now with the vacuum and all?

Does it go for indexes by default, even when i haven't run a vacuum at all?
Does vacuum lock up postgres? It says the analyze part shouldn't, but how's
that for all of the vacuum?

An 7.0.3 db we have here we are forced to run vacuum every hour to get an
acceptable speed, and while doing that vacuum (5-10 minutes) it totaly
blocks our application that's mucking with the db.

Just curious

Magnus Naeslund




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

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



Re: [HACKERS] 7.1 startup recovery failure

2001-04-26 Thread Vadim Mikheev
 There's a report of startup recovery failure in Japan.
 Redo done but ...
 Unfortunately I have no time today.

Please ask to start up with wal_debug = 1...

Vadim



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


[GENERAL] Re: [HACKERS] Re: unanswered: Schema Issue

2001-04-26 Thread Joel Burton

On Thu, 26 Apr 2001, V. M. wrote:

(moving this conversation back to pgsql-general, followups to there)

 perhaps adding  t.tgargs to your view enable me to extract parameters
 that are the related fields

At SCW, we use a naming convention for RI triggers, to allow
us to easily extract that, and deal with error messages.

We use:

CREATE TABLE p (id INT);

CREATE TABLE c (id INT CONSTRAINT c__ref_id REFERENCES p);

This allows us at a glance to see in error messages what field of what
table we were referencing. In an Access front end, we can trap this
error message to a nice statement like You're trying to change a value in
the table c, using information in table p, id, but...)

If you don't have this, yes, you can look at in
the tgargs, but, given that its a bytea field, it's hard to
programmatically dig anything out of it.

HTH,
-- 
Joel Burton   [EMAIL PROTECTED]
Director of Information Systems, Support Center of Washington


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



[HACKERS] Re: [GENERAL] Re: Hardcopy docs available

2001-04-26 Thread Vince Vielhaber

On Tue, 24 Apr 2001, Thomas Lockhart wrote:

 If someone wants to run the A4 docs through a PDF converter, send 'em to
 me and I'll post them too.

I just did the userA4 pdf from hub with this:

$ gzcat userA4.ps.gz | ps2pdf -  userA4.pdf

Do you want me to do the rest of them?   Or we can probably have the
makindex script do it for us.

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 6: Have you searched our list archives?

http://www.postgresql.org/search.mpl



[HACKERS] applications hang when calling 'vacuum'

2001-04-26 Thread Barnes, Sandy (Sandra)


 We are currently calling 'vacuum' from within our code, using the psql++
 PgDatabase ExecCommandOk() to send the SQL statement 'vacuum'.  I seems to
 work when we only have one process running, but when two processes (both
 invoking the vacuum) are running it immediately hangs.  Some postgres
 processes exist... one 'idle' and one 'VACUUM'.  The applications hang.
 I tried using the PgTransaction class to invoke the SQL but received an
 error stating that vacuum cannot be run in a transaction.
 Any ideas?
 
 Sandy Barnes
 email[EMAIL PROTECTED]
 

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

http://www.postgresql.org/search.mpl