[GENERAL] Is there a shortage of postgresql skilled ops people

2007-03-27 Thread Marc Evans
Hello - Over the past couple of years I have made use of postgresql as my database of choice when developing new software. During that time, my clients have in multiple cases eventually come back to me and requested a re-targeting to "Any database that we (my client) can find skilled ops staff

Re: [GENERAL] Triggers inherited?

2007-02-23 Thread Marc Evans
Hi - I too have encountered this issue. The work around that I created was to have every table have a set of 3 cooresponding functions that know how to 1) create the table; 2) create triggers for the table; 3) create indexes for the table. By doing so, I then am able to use a lazy partitioning

[GENERAL] Database performance comparison paper.

2007-02-15 Thread Marc Evans
Some people may find this interesting reading. http://us.devloop.org.uk/ - Marc ---(end of broadcast)--- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq

Re: [GENERAL] printf-like format strings

2007-01-22 Thread Marc Evans
I have found the following technique works well for me: CREATE OR REPLACE FUNCTION audit_log_sprintf(text,integer) RETURNS TEXT as $$ my $fmt = shift; my $id = shift; my $msg = spi_exec_query("SELECT array_upper(msg_args,1) FROM audit_logs WHERE id = $id",1); my $nArgs = $msg->{rows}[0]

Re: [GENERAL] Clustering & Load Balancing & Replication

2006-12-26 Thread Marc Evans
On Tue, 26 Dec 2006, Ben wrote: On Dec 26, 2006, at 7:30 AM, Marc Evans wrote: What I have not been able to come up with a good semi-general purpose solution to is cross-data-center HA. Why does log shipping not work for you? Well, it may, but is short, I believe that this comes down to

Re: [GENERAL] Clustering & Load Balancing & Replication

2006-12-26 Thread Marc Evans
On Tue, 26 Dec 2006, Shoaib Mir wrote: We are trying to achieve High Availability over load balancing, so basically we always try and have 2 databases in the same state while >>both are active, What problems do you see with Slony + Linux HA combo there? I think a Slony failover can do the sam

Re: [GENERAL] Partitioning Vs. Split Databases - performance?

2006-12-21 Thread Marc Evans
On Thu, 21 Dec 2006, Vlad wrote: On 12/21/06, Ron Johnson <[EMAIL PROTECTED]> wrote: >> Given the same physical hardware, which one is likely to perform better? Does >> it make any difference? Does using separate databases use more RAM than a >> single database with a bunch of different tabl

[GENERAL] psql too noisy

2006-12-19 Thread Marc Evans
Hello - Can anyone suggest a way to suppress all STDOUT/STDERR output by the psql utility, except for >= ERROR level messages? In particular, I am trying to suppress NOTICE level messages. The purpose behind this is so that when a lengthy script is fed to psql to build a virgin DB, the many NO

Re: [GENERAL] creating functions with variable argument lists

2006-12-14 Thread Marc Evans
On Fri, 8 Dec 2006, Tom Lane wrote: Marc Evans <[EMAIL PROTECTED]> writes: I am trying to make use of table partitions. In doing so I would like to use a rule to call a functioning which inserts the data into the proper partition. Basically, you're guaranteeing yourself large

[GENERAL] 8.2 server core dump

2006-12-14 Thread Marc Evans
Hi - While working with plperl, I stumbled into a repeatable way to cause the postgresql server to core dump. The example is shown here (yes, I know that I didn't code $query properly for the spi_prepare, but that should not cause a server core dump): CREATE OR REPLACE FUNCTION insert_date_p

Re: [GENERAL] plperl exception catching

2006-12-14 Thread Marc Evans
On Wed, 13 Dec 2006, Martijn van Oosterhout wrote: On Wed, Dec 13, 2006 at 05:04:42PM -0500, Tom Lane wrote: Bricklen Anderson <[EMAIL PROTECTED]> writes: Marc Evans wrote: OK, I must be missing something obvious: ERROR: creation of Perl function failed: 'eval "str

Re: [GENERAL] plperl exception catching

2006-12-13 Thread Marc Evans
On Wed, 13 Dec 2006, Tom Lane wrote: Marc Evans <[EMAIL PROTECTED]> writes: Is it accurate for me to believe that there is no way to catch exception within plperl? You do it the same way you trap any other error in perl ... OK, I must be missing something obvious: c3i=> CREATE O

[GENERAL] plperl exception catching

2006-12-13 Thread Marc Evans
Hi - Is it accurate for me to believe that there is no way to catch exception within plperl? For example, if an update fails, I'd like to do an insert. Yes, this is trivial to do in plpgsql, but sadly plpgsql is not usable due to not supporting variable variables. If plperl can't catch excepti

Re: [GENERAL] dynamic plpgsql question

2006-12-13 Thread Marc Evans
On Wed, 13 Dec 2006, Erik Jones wrote: Marc Evans wrote: On Wed, 13 Dec 2006, Erik Jones wrote: Marc Evans wrote: Hi - I am struggling with a trigger function in plpgsql, and am hoping that someone on this list can't show me a way to do what I need. In the trigger, TG_ARGV[0] i

Re: [GENERAL] dynamic plpgsql question

2006-12-13 Thread Marc Evans
On Wed, 13 Dec 2006, Erik Jones wrote: Marc Evans wrote: Hi - I am struggling with a trigger function in plpgsql, and am hoping that someone on this list can't show me a way to do what I need. In the trigger, TG_ARGV[0] is the name of a column that I want to evaluate. This code show

[GENERAL] dynamic plpgsql question

2006-12-13 Thread Marc Evans
Hi - I am struggling with a trigger function in plpgsql, and am hoping that someone on this list can't show me a way to do what I need. In the trigger, TG_ARGV[0] is the name of a column that I want to evaluate. This code shows the concept, though is not functional: CREATE OR REPLACE FUNCTI

[GENERAL] creating functions with variable argument lists

2006-12-08 Thread Marc Evans
Hi - I am trying to make use of table partitions. In doing so I would like to use a rule to call a functioning which inserts the data into the proper partition. To do so, I believe that I need to find a way to opaquely pass NEW from the rule to a function which then passes it to INSERT. (Well,

Re: [GENERAL] partition insert question

2006-12-07 Thread Marc Evans
On Thu, 7 Dec 2006, Marc Evans wrote: Hello - I find myself trying to find a way to have the table name used with the insert command be generated on the fly in a rule. For example, consider the following: create table foobars ( id bigserial, created_at timestamp not null, name

[GENERAL] partition insert question

2006-12-07 Thread Marc Evans
Hello - I find myself trying to find a way to have the table name used with the insert command be generated on the fly in a rule. For example, consider the following: create table foobars ( id bigserial, created_at timestamp not null, name ); create table foobars_200612 ( check (crea

[GENERAL] Looking for pgsql sysadmin

2006-11-29 Thread Marc Evans
Hello - A company that I am working with is looking for a pgsql system administrator. The host OSes are FreeBSD 6 and RedHat Enterprise Linux, currently. Postgresql is currently version 8.1. Tasks would include devising a world-wide replication and backup strategy, system performance tuning,

[GENERAL] rule for inserting into partitions

2006-10-03 Thread Marc Evans
Hello - I have a schema setup which I want to use partitions with. The intent is to partition based on the "created_at" column, seperating based on the year/month. What I am struggling with is a rule that I can use to automatically determine which partition data should be inserted into, such

Re: [GENERAL] Odd behavior observed

2006-09-19 Thread Marc Evans
On Tue, 19 Sep 2006, Tom Lane wrote: Marc Evans <[EMAIL PROTECTED]> writes: Any suggested tricks for seeing additional debug information or even roaming through gdb, to try to figure this out? Is the problem reproducible enough that you can watch it under gdb? In that case it should

Re: [GENERAL] Odd behavior observed

2006-09-19 Thread Marc Evans
On Tue, 19 Sep 2006, Tom Lane wrote: Marc Evans <[EMAIL PROTECTED]> writes: On Tue, 19 Sep 2006, Tom Lane wrote: Hmph. You got any ON INSERT triggers or rules on that table? I can't think of anything else that would interfere with data getting stored. No INSERT triggers.

Re: [GENERAL] Odd behavior observed

2006-09-19 Thread Marc Evans
On Tue, 19 Sep 2006, Tom Lane wrote: Marc Evans <[EMAIL PROTECTED]> writes: On Tue, 19 Sep 2006, Tom Lane wrote: What insert command is being issued exactly, and from what source? I'm speculating about issues like stale plans or metadata caches, but you're not providing

Re: [GENERAL] Odd behavior observed

2006-09-19 Thread Marc Evans
On Tue, 19 Sep 2006, Tom Lane wrote: Marc Evans <[EMAIL PROTECTED]> writes: On Tue, 19 Sep 2006, Tom Lane wrote: What do you mean by that exactly? The example you showed seems to be doing just what it's supposed to. In the failure mode, the source_record column always has the

Re: [GENERAL] Odd behavior observed

2006-09-19 Thread Marc Evans
On Tue, 19 Sep 2006, Tom Lane wrote: Marc Evans <[EMAIL PROTECTED]> writes: ... I have a table with about 15000 records in it, which I would like to add a new column to. The alter command shows success. However, testing inserts reveals that the data for the new column is never stored.

[GENERAL] Odd behavior observed

2006-09-19 Thread Marc Evans
Hello - I am observing odd behavior that I am wondering if anyone here may have an idea of how better to debug. I am suspecting a bug in the pgsql code, but would be happy to find it is my error. My specific situation is that I am using version 8.1.4 on a FreeBSD 6.1 AMD-64 system. I have a

[GENERAL] database replication

2006-09-02 Thread Marc Evans
Hello - I am curious as to people's opinion about best practices in deployment of pgsql in a high-availablity (HA) situation. By HA I mean that data loss must be as close to zero as possible, and that web servers using the DB need to be deployed in multiple geographic locations world-wide, to

Re: [GENERAL] postgres array quoting

2006-09-01 Thread Marc Evans
On Thu, 31 Aug 2006, [EMAIL PROTECTED] wrote: Hello - I am attempting to find a way to make use of arrays of text, as demonstraited by the following: CREATE TABLE messages ( id SERIAL, format TEXT NOT NULL, arguments TEXT[] ); Into that table will be values that you would associate with