Re: [ADMIN] Installing PostgreSQL as postgress versus root Debate!

2005-01-13 Thread Matt Clark

Put all your eggs in one basket, and WATCH THAT BASKET.
 

Better yet, pay someone more reliable than oneself to watch it.  
Preferably a well-paid and happy fox.

Or _maybe_  put your eggs in an invisible super-basket?
Not trolling, just checking the analogy integrity field.
M

---(end of broadcast)---
TIP 8: explain analyze is your friend


Re: [ADMIN] NIC to NIC connection

2004-10-19 Thread Matt Clark
Title: Message



You 
would assign a different subnet to the connection, and then tell the servers to 
connect to the PG server's address on that subnet. No other changes 
required. Very odd setup though. If you want a 'private' connection 
then use a switch, rather than needing umpty NICs in the PG 
server.

  
  -Original Message-From: 
  [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
  On Behalf Of Kent AndersonSent: 19 October 2004 
  17:05To: [EMAIL PROTECTED] OrgSubject: [ADMIN] NIC 
  to NIC connection
  We are upgrading 
  our servers and have run into an interesting situation. It has been 
  proposed that we have a direct connection from the web servers to 
  thepostgres server via extra NICs. Has anyone done this before and how 
  big a project would it be to alter ASP and Java applications to make use of 
  such a connection?
  
  Before we even 
  waste time installing the NIC's I would like a sense of how hard it is to get 
  postgres to use that kind of a connection vs over the Internet. We are looking 
  to increasecommunication speed between the web servers and database 
  serveras much as possible. 
  
  Thanks
  Kent 
  Anderson


Re: [ADMIN] NIC to NIC connection

2004-10-19 Thread Matt Clark

Switches are not security devices. While it is harder to sniff packets on
switches, you can't count on them to prevent hostile machines on the
switch from playing games with the arp protocol. Also I believe that if
a switch doesn't remember where a particular mac address is it will send
the packet to all of the attached ports.
 

If you have 6 app servers it's just daft to stick 6 NICs in your DB 
server.   If absolute privacy is a concern (not mentioned by the OP), 
then use a dedicated switch (or switches) for the 'private' subnet.  
Even better, use SSH.  But all this is over the top for 99.9% of uses 
anyway.  A VLAN is as private as anything else, so you can just create a 
VLAN on your current switch fabric and use that.  No kind of traffic on 
a VLAN will hit any other VLAN.  Unless of course someone has hacked 
your switch, set up a mirror port, attached a sniffer or other hacked 
machine to it, and is assiduously reading your traffic, in which case 
you have bigger problems

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


Re: [ADMIN] PLEASE GOD HELP US!

2004-10-01 Thread Matt Clark

Got any suggestions now?!?  I was sort of looking for more information /
insight on my postgresql.conf file... but it seems we had to get the IS HE
A MORON question answered :P
Anyhow, again thank you for any help you can lend...
 

Well, try not to SHOUT is a good suggestion.  Also, how about posting 
the output of explain analyze for the queries that go into a making 
typical page (taken while the DB is under load preferably). 

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


[ADMIN] Reposted - large object storage

2004-05-10 Thread Matt Clark
Hi again,

It seems I posted in HTML before, sorry about that...
 
It seems I'm trying to solve the same problem as Richard Emberson had a
while ago (thread here:
http://archives.postgresql.org/pgsql-general/2002-03/msg01199.php). 
 
Essentially I am storing a large number of large objects in the DB
(potentially tens or hundreds of gigs), and would like the pg_largeobject
table to be stored on a separate FS.  But of course it's not just one file
to symlink and then forget about, it's a number of files that get created.
 
So, has anyone come up with a way to get the files for a table created in a
particular place?  I know that tablespsaces aren't done yet, but a kludge
will do (or a patch come to that - we're runing redhat's 7.2.3 RPMs, but
could switch if necessary).  I had thought that if the filenames were
predictable it might be possible to precreate a bunch of zero-length files
and symlink them in advance, but that's perhaps _too_ kludgey...

I'm having a rummage around in the code at the moment, and it seems like it
might be possible to get PG to put each table in its own directory.  Anybody
seen that tried before?
 
Cheers
 
Matt
 
 



---(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


[ADMIN] Postgres large objects

2004-05-06 Thread Matt Clark
Title: Message



Hello 
all,

It seems I'm trying 
to solve the same problem as Richard Emberson had a while ago (thread here: http://archives.postgresql.org/pgsql-general/2002-03/msg01199.php).

Essentially I am 
storing a large number of large objects in the DB (potentially tens or hundreds 
of gigs), and would like the pg_largeobject table to be stored on a separate 
FS. But of course it's not just one file to symlink and then forget about, 
it's a number of files that get created.

So, has anyone come 
up with a way to get the files for a table created in a particular place? 
I know that tablespsaces aren't done yet, but a kludge will do (or a patch come 
to that - we're runing redhat's 7.2.3 RPMs, but could switch if 
necessary). I had thought that if the filenames were predictable it might 
be possible to precreate a bunch of zero-length files and symlink them in 
advance...

Cheers

Matt




Re: [ADMIN] Postgres large objects

2004-05-06 Thread Matt Clark
Thanks, but it's already on a RAID array with a battery backed controller
and a journaled FS.  The deal is that I don't really want to spend the money
on expanding that storage for data that isn't very critical at all.  I want
to stick these blobs on a cheap bunch of ATA disks basically, as comparing
the price of a terabyte of ATA mirrored disks and the same TB on SCSI
hardware raid is enlightening.  

M

-Original Message-
From: Bradley Kieser [mailto:[EMAIL PROTECTED] 
Sent: 06 May 2004 11:03
To: Matt Clark
Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED]
Subject: Re: [ADMIN] Postgres  large objects


Matt,

Not really the answer that you are looking for and you may already do 
this, but if it's a disk space or performance issue then I would suggest 
moving the PGDATA dir (or the location if you are using locations) onto 
a RAID5 disk array - means you can ramp up the space and you get the 
performance gains of RAID5, not to mention the safety of a FS that 
recovers from disk failure!

Brad

Matt Clark wrote:

 Hello all,
  
 It seems I'm trying to solve the same problem as Richard Emberson had
 a while ago (thread here: 
 http://archives.postgresql.org/pgsql-general/2002-03/msg01199.php). 
  
 Essentially I am storing a large number of large objects in the DB
 (potentially tens or hundreds of gigs), and would like the 
 pg_largeobject table to be stored on a separate FS.  But of course 
 it's not just one file to symlink and then forget about, it's a number 
 of files that get created.
  
 So, has anyone come up with a way to get the files for a table created
 in a particular place?  I know that tablespsaces aren't done yet, but 
 a kludge will do (or a patch come to that - we're runing redhat's 
 7.2.3 RPMs, but could switch if necessary).  I had thought that if the 
 filenames were predictable it might be possible to precreate a bunch 
 of zero-length files and symlink them in advance...
  
 Cheers
  
 Matt
  
  




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

   http://archives.postgresql.org


Re: [ADMIN] Frequent 'deadlock detected' in 7.4 ... or just my bad

2004-04-05 Thread Matt Clark
 1. a traffic table is read in, and loaded into a hash table that is
ordered by company_id, ip_id and port:
 
  $traffic{$ip_rec{$ip}{'company_id'}}{$ip_id}{$port} += $bytes1 + $bytes2;
 
 2. a foreach loop is run on that resultant list to do the updates to the
database:
 
  foreach $company_id ( keys %traffic ) {
foreach $ip_id ( keys %{$traffic{$company_id}} ) {
  foreach $port ( keys %{$traffic{$company_id}{$ip_id}} ) {
 
and the updates are done based on those 3 values, plus the byte value
 of $traffic{$company_id}{$ip_id}{$port} ...
 
Now, my first mistake may be that I'm mis-assuming that the hashes will
 be read in a sorted order ... ?  If this is the case, though, then sort
 order shouldn't be an issue, as all servers would be sorted the same way

The output of keys(%hash) is NOT ordered!  Try:

  foreach $company_id ( sort keys %traffic ) {
  foreach $ip_id ( sort keys %{$traffic{$company_id}} ) {
foreach $port ( sort keys %{$traffic{$company_id}{$ip_id}} ) {


Matt


---(end of broadcast)---
TIP 9: the planner will ignore your desire to choose an index scan if your
  joining column's datatypes do not match


Re: [ADMIN] Database Encryption (now required by law in Italy)

2004-03-05 Thread Matt Clark
 What's wrong with using a LoopAES filesystem?  It protects against
 someone walking off with the server, or at least the hard disk, and
 being able to see the data.

Yes, but only if the password has to entered manually [1] at boot time.
And it gives zero protection against someone who gains root access to the
server.

So you _also_ have to encrypt the sensitive data before giving it to the 
DB, using a key that is not stored on the DB server.

Of course that means your app servers have to have _those_ passwords/
keys entered manually at boot time, or else someone who roots them can
read your sensitive data quite trivially.

And to do any better than that you need one of those very snazzy cards
from nCipher or whoever, that allow you to process encrypted data in a
hardware sandbox so even your application doesn't see it, or at least
only allow signed code to manipulate the data.


Matt

[1] There are ways of avoiding having to enter the info manually, but
they're very tricky to implement securely.


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


Re: [ADMIN] DELETE FROM protection

2004-02-20 Thread Matt Clark
BEGIN;
DELETE FROM mytable;
!!! OOOPS 
ROLLBACK;


 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] Behalf Of Jeremy Smith
 Sent: 20 February 2004 06:06
 To: [EMAIL PROTECTED]
 Subject: [ADMIN] DELETE FROM protection
 
 
 
 This may be an all-time idiotic question, but when I used phpmysql, when I
 would type in a DELETE FROM query in the SQL window, it would make me
 confirm it before I allowed it to go through.  I don't think in all of the
 presumably thousands of times that I used it that I ever canceled out of the
 statement, but I always liked that it is there.
 
 So now with pgsql, when I am typing DELETE FROM until I get to the
 WHERE part of the statement, I get a little nervous because I know hitting
 Enter by mistake will wipe out that table.  Of course, I have backups, but
 it is a live site with alot of traffic and I would hate to have to shut
 things down while I restored the DB.
 
 Anyway, this may all seem silly, but is there a setting in pgsql to do this?
 
 Thanks,
 Jeremy
 
 
 ---(end of broadcast)---
 TIP 7: don't forget to increase your free space map settings


---(end of broadcast)---
TIP 8: explain analyze is your friend


Re: [ADMIN] Alternative to Money ...

2004-02-03 Thread Matt Clark
 .. I can't _quite_ tell if you're serious or not ... :)
 
 If you are serious, are you saying to do something like:
 
 CREATE TABLE new_money (product text, dollars int4, cents int4);

Ha :-)  That would not be serious.  I'm pretty sure he meant to just store the product 
cost in cents instead of dollars, e.g.

 CREATE TABLE new_money (product text, cents int4);
 INSERT INTO new_money (product, cents) values ('Flowbee','1995');
 INSERT INTO new_money (product, cents) values ('Garth Brooks\'s
 Greatest Hits','999');

M


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


Re: [ADMIN] Snapshot as Backup

2004-01-13 Thread Matt Clark
Title: Message



The 
consensus from previous discussions (search for 'LVM' in the archives) is 
essentially that it definitely *should* work, some people *do* use it 
successfully, but that you *must* test it thoroughly in your own setup under 
heavy write loadbefore relying on it.

PG 
will believe it has 'crashed' when you start it from a restored snapshot, and PG 
is designed to recover perfectly well from crashes. If you stop the 
postmaster before the snapshot is taken then it will definitely work 
fine.

Matt

  -Original Message-From: 
  [EMAIL PROTECTED] 
  [mailto:[EMAIL PROTECTED]On Behalf Of Ed 
  MurphySent: 13 January 2004 17:16To: 
  [EMAIL PROTECTED]Subject: [ADMIN] Snapshot as 
  Backup
  Hello,
  
  I'm using Red Hat 
  Enterprise v2.1 and PostgreSQL v7.3.4. Our hardware setup includes a 
  large Storage Area Network (SAN). The systems folks are going to utilize 
  a snapshot type backup to backup the file system. This snapshot will 
  include PGDATA and all the PostgreSQL files. My question is if I restore 
  this snapshot will PostgreSQL work? I know if doing a typical file 
  system backup of PostgreSQL I must first stop the postmaster or the backup 
  will not produce a useable PostgreSQL system. Is it necessary to stop 
  the postmaster for this snapshot backup also?
  
  Thanks,
  
  Ed 
  Murphy
  The University of 
  Arizona


Re: [ADMIN] performance problem - 10.000 databases

2003-10-31 Thread Matt Clark
 I could made persistent connection, but with 10.000 clients it will kill
 the server.

But if they're virtual domains, why would you need one connection per domain?  You 
should only need one connection per apache
process...






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


Re: [ADMIN] performance problem - 10.000 databases

2003-10-31 Thread Matt Clark

 W licie z pi, 31-10-2003, godz. 12:25, Matt Clark pisze:
  Ooh, I see.  That's a tricky one.   Do you really need that level of separation?

 Well, if you talk with the clients, and they promise, that they will not
 access to other databasess, and specially don't do drop database
 my_bes_fried_db
 I can put:
 host  any any 0.0.0.0 0.0.0.0 trust
 in the very beginning of pg_hba.conf ;)

I was more thinking that it might be possible to manage the security at a different 
level than the DB.



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


Re: [ADMIN] performance problem - 10.000 databases

2003-10-31 Thread Matt Clark
Hmm, maybe you need to back off a bit here on your expectations.  You said your test 
involved 400 clients simultaneously running
queries that hit pretty much all the data in each client's DB.  Why would you expect 
that to be anything *other* than slow?

And does it reflect expected production use?  Unless those 10,000 sites are all 
fantastically popular, surely it's more likely that
only a small number of queries will be in progress at any given time?  You're 
effectively simulating running 400 _very_ popular
dynamic websites off one 2-cpu DB server.

You also said that CPU is pegged at 100%.  Given that you've got 400 backends all 
competing for CPU time you must have an insane
load average too, so improving the connect time might prove to be of no use, as you 
could well just get fasert connects and then
slower queries!

Sorry this email wasn't more constructive ;-)

M

 -Original Message-
 From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Marek Florianczyk
 Sent: 31 October 2003 13:20
 To: Jamie Lawrence
 Cc: Matt Clark; [EMAIL PROTECTED]
 Subject: Re: [ADMIN] performance problem - 10.000 databases


 W licie z pi, 31-10-2003, godz. 13:54, Jamie Lawrence pisze:
  On Fri, 31 Oct 2003, Matt Clark wrote:
 
   I was more thinking that it might be possible to manage the security at a 
   different level than the DB.
  
 
 
  We do this with users and permissions.
 
  Each virtual host has an apache config include specifying a db user,
  pass (and database, although most of them use the same one).
  Permissions on the database tables are set so that a given vhost can
  only access their own data.
 
  Our setup is mod_perl. Don't know how one would go about doing this with
  PHP, but I imagine it has some mechanism for per-vhost variables or
  similar.

 So, as I understand apache vhost can only connect to specified database.
 Strange... no PHP only mod_perl that fetch data from database and writes
 html document ? So, clients don't make any scripts, and don't use
 function like pgconnect? Do they use CGI with mod_perl, and they write
 scripts in perl ? Interesting.
 Don't know if it's possible with PHP, don't think so.
 But... If I would have 200, or even 900 clients I would do apache with
 vhost. But when I have 10.000 clients, apache cannot work with vhosts. (
 some system limitation ) So we use our own dynamic vhost module. When
 request is made to server, it checks domain part of the request, and
 search i LDAP what is DocumentRoot for that domain, and then return
 proper file. Config looks like it was only one vhost, but it works with
 10.000 domains ;)
 No, I think that your solution, would not work for us.
 Everything is complicated when a large number of anything occurs. ;)

 greetings
 sorry for my bad english



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



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

   http://www.postgresql.org/docs/faqs/FAQ.html


Re: [ADMIN] Partial indexes ... any good theoretical discussion?

2003-10-03 Thread Matt Clark
It won't work.

You could instead have a separate boolean attribute called 'expired' for
each row.  Set this to true whenever you expire the row, and create the
partial index using that attr.

Matt

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] Behalf Of Jeff Boes
 Sent: 03 October 2003 17:35
 To: [EMAIL PROTECTED]
 Subject: [ADMIN] Partial indexes ... any good theoretical discussion?


 I've only just now noticed that CREATE INDEX accepts a 'WHERE' clause.
 This is used to create something called a partial index.  Hmm, ever
 being one who sees the world as made of nails when first given a
 hammer ...

 One of our tables, with a couple hundred thousand rows) has a
 date-column index. We expire things out of the table every day (the vast
 majority, but not exclusively, stuff that's a couple days old). We're
 frequently running queries against the table, looking for everything
 since this time yesterday; we hardly ever look back more than 24 hours.

 If I created the index as something like:

 CREATE INDEX ix_foo ON foo(the_date)
   WHERE the_date = now() - interval '24 hours';

 what might I expect as the impact?  Do index values older than 24 hours
 drop out? Or must I refresh the index from time to time (in our
 application, probably a couple dozen times a day)?

 And, absent pat answers to this, is there anything out there in PG-land
 that documents partial indexes, and when to use them?

 --
 Jeff Boes  vox 269.226.9550 ext 24
 Database Engineer fax 269.349.9076
 Nexcerpt, Inc. http://www.nexcerpt.com
 ...Nexcerpt... Extend your Expertise


 ---(end of broadcast)---
 TIP 7: don't forget to increase your free space map settings



---(end of broadcast)---
TIP 8: explain analyze is your friend


Re: [ADMIN] Report Generator Proposal

2003-09-15 Thread Matt Clark
I rather like it actually.  Cisco equipment has a 'show tech-support' command that 
does exactly that, dumps all the config, HW/SW
versions, current state, you name it.  If you have a problem you run that, attach the 
output to yr support email, and 99% of the
time there's enough info there to solve the problem.

It'd be easy to automate all except the explain, a script that did everything else 
could then emit If your preoblem relates to a
specific query, then run 'explain analyze query' and attach it to your message as 
well.

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] Behalf Of Gaetano Mendola
 Sent: 15 September 2003 16:25
 To: [EMAIL PROTECTED]
 Subject: Re: [ADMIN] Report Generator Proposal


 Must I suppose that the idea rejected ?

 - Original Message -
 From: Gaetano Mendola [EMAIL PROTECTED]
 Newsgroups: comp.databases.postgresql.admin
 Sent: Thursday, September 11, 2003 11:52 PM
 Subject: Re: Report Generator Proposal


  Nobody entusiastic ? I'm wrong about my feeling ?
  I think that have the psql able to generate a report
  will increase the our better response to a user novice
  or not ?
 
 
  Regards
  Gaetano Mendola
 
  - Original Message -
  From: Gaetano Mendola [EMAIL PROTECTED]
  Newsgroups: comp.databases.postgresql.admin
  Sent: Wednesday, September 10, 2003 4:10 AM
  Subject: Report Generator Proposal
 
 
   Hi all,
   each time that someone say: this query is slow, this query take forever,
  bla
   bla bla
   all our request are:
  
   1) Which version are you running ?
   2) May I see your table definition?
   3) May I see you configuration file?
   4) May I see the explain ?
   5) ...
  
   sometimes a beginner is scared about all these questions and even
   he/she don't know how do collect these informations and we lose
   important data about:  why that damn query is too slow?
  
  
   may be is usefull generate an automatic report that take charge
   of collect all these informations and send it to a file or directly to
   [EMAIL PROTECTED] , may be something like:
  
  
BEGIN REPORT TO FILE file_name
SELECT ..
END REPORT;
  
  
   or
  
  
BEGIN REPORT TO EMAIL address
SELECT ..
END REPORT;
  
  
  
   Regards
   Gaetano Mendola
  
  
  
  
  
   ---(end of broadcast)---
   TIP 8: explain analyze is your friend
  
 
 
  ---(end of broadcast)---
  TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]
 


 ---(end of broadcast)---
 TIP 8: explain analyze is your friend




---(end of broadcast)---
TIP 9: the planner will ignore your desire to choose an index scan if your
  joining column's datatypes do not match


Re: [ADMIN] pg 7.3.4 and linux box crash

2003-09-14 Thread Matt Clark
  It is crashing the linux box. Not rebooting, not kernel panic, 
 but only stop
  to respond.On the console if I type reboot it will not to 
 reboot and so on.
  But it crash only if I start intensive operations on pg.

If you can type 'reboot' then surely it hasn't stopped responding?

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


[ADMIN] Cost estimates consistently too high - does it matter?

2003-08-14 Thread Matt Clark



Hi,

I've noticed that 
the cost estimates for a lot of my queries are consistently far to high. 
Sometimes it's because the row estimates are wrong, like 
this:

explain analyze 
select logtime from loginlog where 
uid='Ymogen::YM_User::3e2c0869c2fdd26d8a74d218d5a6ff585d490560' and result = 
'Success' order by logtime desc limit 3;NOTICE: QUERY 
PLAN:
Limit 
(cost=0.00..221.85 rows=3 width=8) (actual time=0.21..2.39 rows=3 
loops=1) - Index Scan Backward using loginlog_logtime_idx on 
loginlog (cost=0.00..12846.69 rows=174 width=8) (actual time=0.20..2.37 
rows=4 loops=1)Total runtime: 2.48 msec

The row estimate 
here is off by a factor of 50, but the cost estimate is off by a factor 
of5000.

Sometimes the row 
estimates are good, but the costs are still too high:

explain analyze 
select u.email from ym_user u join mobilepm m on (m.ownerid = u._id) where 
m.status = 'Validated' and m.network = 'TMOBILEUK';NOTICE: QUERY 
PLAN:
Nested Loop 
(cost=0.00..2569.13 rows=441 width=145) (actual time=1.93..248.57 rows=553 
loops=1) - Seq Scan on mobilepm m (cost=0.00..795.11 
rows=441 width=58) (actual time=1.69..132.83 rows=553 loops=1) 
- Index Scan using ym_user_id_idx on ym_user u (cost=0.00..4.01 
rows=1 width=87) (actual time=0.19..0.20 rows=1 loops=553)Total runtime: 
249.47 msec

loginlog has 18 
rows, mobilepm has 12000, ym_user has 5, and they've all been analyzed prior 
to running the query.

The server is a 
Quad PIII 700 Xeon/1MB cache, 3GB RAM, hardware RAID10 ontwo 
SCSIchannels with 128MB write-back cache.

I've lowered the 
random_page_cost to 2 to reflect the decent disk IO, but I suppose the fact that 
the DB  indexes are essentially all cached in RAM might also be affecting 
the results, although effective_cache_size is set to a realistic 262144 
(2GB). Those planner params in full:

#effective_cache_size = 1000 # default in 8k 
pages#random_page_cost = 4#cpu_tuple_cost = 
0.01#cpu_index_tuple_cost = 0.001#cpu_operator_cost = 
0.0025effective_cache_size = 262144 # 2GB of FS cacherandom_page_cost = 
2

For now the planner seems to be making the right choices, but 
my concern is that at some point the planner might start making some bad 
decisions, especially on more complex queries. Should I bother tweaking 
the planner costs more, and if so which ones? Am I fretting over 
nothing?

Cheers

Matt
Matt ClarkYmogen Ltd[EMAIL PROTECTED]corp.ymogen.net 



[ADMIN] Transactions, tuples, and VACUUM

2003-08-14 Thread Matt Clark
Morning all, bit of a general question here...

consider:

  begin;
  update a set col1 = 'p' where id = '1';
  update a set col2 = 'q' where id = '1';
  commit;

versus:

  update a set col1 = 'p', col2 = 'q' where id = '1';

Does the first case generate any more dead tuples that will need vacuuming than the 
second case, or are the two updates 'merged'
when the transaction is committed?  Or is the answer 'sometimes' (I would guess 
depending on checkpoints)?

Cheers

Matt






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

   http://archives.postgresql.org


Re: [ADMIN] Cost estimates consistently too high - does it matter?

2003-08-09 Thread Matt Clark
Well, I usually am under a misapprehension!  Thanks for the explanation about LIMIT 
too.

In that case then, I shall stop worrying and learn to love the planner.

M

 -Original Message-
 From: Tom Lane [mailto:[EMAIL PROTECTED]
 Sent: 08 August 2003 16:15
 To: Matt Clark
 Cc: [EMAIL PROTECTED]
 Subject: Re: [ADMIN] Cost estimates consistently too high - does it
 matter? 
 
 
 Matt Clark [EMAIL PROTECTED] writes:
  I've noticed that the cost estimates for a lot of my queries are
  consistently far to high.
 
 You seem to be under a misapprehension.  The cost estimates are not
 in units of milliseconds, they are on an arbitrary scale with 1.0
 defined as one disk fetch.
 
 LIMIT throws another monkey wrench into the mix: the estimates for the
 plan nodes underneath the limit are done as if the plan were to be
 executed to completion, which of course it won't be.
 
   regards, tom lane
 
 


---(end of broadcast)---
TIP 7: don't forget to increase your free space map settings


Re: [ADMIN] Postgresql slow on XEON 2.4ghz/1gb ram

2003-08-06 Thread Matt Clark



A P3 
1GHz is probably roughly equivalent to a P4 1.5GHz, so going from dual P3 1GHz 
to single P4 2.4GHz would likely be slower in any case. Don't forget that 
unless you're talking about the "Xeon MP" then the whole "Xeon" tag is pretty 
meaningless for the P4 range.

If 
you moved to a *dual* P4 setup, then the only obvious reason for a slowdown 
would be if the disk subsystem is much slower on the new machine, or the new 
machine has a hardware problem.

  -Original Message-From: 
  [EMAIL PROTECTED] 
  [mailto:[EMAIL PROTECTED]On Behalf Of Wilson A. 
  Galafassi Jr.Sent: 06 August 2003 14:21To: 
  [EMAIL PROTECTED]Subject: [ADMIN] Postgresql slow on XEON 
  2.4ghz/1gb ram
  
  Hello.
  I have this problem:i'm runningthe 
  postgre 7.3on awindows 2000 serverwith P3 1GHZ 
  DUAL/1gb ramwithgood performance.For 
  bestperformancei have change the server for a XEON 2.4/1gb 
  ram andformy suprisethe performance decrease 
  80%.anybody have a similar experience?does exist anyspecial 
  configuration to postgre running on a Xeonprocessor? Any have any idea 
  to help-me? Excuse-me my bad english.
  Very Thanks
  Wilson
  icq 77032308
  msn 
  [EMAIL PROTECTED]


Re: [ADMIN] LVM snapshots

2003-04-04 Thread Matt Clark
Thanks Murthy, that's exceptionally helpful!

Does anyone know what (in general) would cause the notices that Murthy spotted in the 
logs as per the snippet below?


 The postmaster is started and stopped on the backup server, so that any
 problems can be identified right away. (Notice the ReadRecord: unexpected
 pageaddr 13C/98EDA000 in log file 317, segment 11, offset 15572992 in the
 later log. This seems to be a non-critical error; VACUUM ANALYZE gave a
 short series of:
 NOTICE:  Rel table name: Uninitialized page 54300 - fixing
 ...
 VACUUM
 ).


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


Re: [ADMIN] LVM snapshots

2003-03-14 Thread Matt Clark
Title: RE: [ADMIN] LVM snapshots



Thanks all.

The 
conclusion there seemed to be that it ought to work just fine, but should be 
tested. Well, I'll test it and see if anything interesting comes up. 
If anything LVM snapshots will be less tricky than NetApp snapshots as LVM has 
access to the OS's local cache buffers, whereas the NetApp doesn't (though 
presumably the OS shouldn't/doesn't do any write caching when writing to a 
network FS).





  -Original Message-From: 
  [EMAIL PROTECTED] 
  [mailto:[EMAIL PROTECTED]On Behalf Of Trewern, 
  BenSent: 14 March 2003 17:55To: 'Matt 
  Clark'Cc: [EMAIL PROTECTED]Subject: Re: [ADMIN] 
  LVM snapshots 
  Try - [GENERAL] A few questions to real pgsql gurus 

  Ben