hi everybody,
this query...:
my $tsql = qq{ insert into user_month (select '$currentmonth'::date as
month,'*nopleid*',count(distinct uuid) from user_log where day<=now()::date
and day>(now()-interval '30 days')::date) };
my $tsth = $tdbh->prepare( $tsql );
$tsth->execute();
sometimes drops this error:
DBD::Pg::st execute failed: ERROR: MemoryContextAlloc: invalid request size
1969649011
the table user_log has about 2.000.000 entries and the following structure:
Column | Type | Modifiers
--------+------------------------+-----------
day | date |
uuid | character varying(31) |
pleid | character varying(200) |
Indexes: user_log_day_idx,
user_log_pleid_idx,
user_log_uuid_idx
The system is postgresql-7.2-1PGDG on a redhat 7.2 system.
Looks like the postgresql asks the system for some 2gb ram... thats quiet a
lot (and i have read somewhere this is a magic border on intel systems).
The query gets executed while entrys are inserted into user_log by other
clients.
Do i have to lock the table before against inserts?
ideas?
thanks
Thilo Hille
thilo@resourcery.de