Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Data Bases > Pgsql General > Re: Problems wi...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 4 of 6 Topic 15481 of 17437
Post > Topic >>

Re: Problems with memory

by paumarc@[EMAIL PROTECTED] ("Pau Marc Munoz Torres") May 8, 2008 at 11:54 AM

------=_Part_309_18758687.1210240454811
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Hi

maybe i should give you some more explanations of my problem.

The reason for which i think that postgresql run out of memory is that: I
have a relation with 6 fields, 29 indexes and 32000 registers, the
register=
s
where made up using a pgsql language to save disk space, and they "work"
(see the table schema under those lines)



 Column |     Type     | Modifiers
--------+--------------+-----------
 id     | integer      |
 p1     | character(1) |
 p4     | character(1) |
 p6     | character(1) |
 p7     | character(1) |
 p9     | character(1) |
Indexes:
    "h2iab" btree (idr(p1, p4, p6, p7, p9, 'H-2*IAb'::character varying))
    "h2iad" btree (idr(p1, p4, p6, p7, p9, 'H-2*IAd'::character varying))
    "h2iak" btree (idr(p1, p4, p6, p7, p9, 'H-2*IAk'::character varying))
    "h2ied" btree (idr(p1, p4, p6, p7, p9, 'H-2*IEd'::character varying))
    "hladqa10501" btree (idr(p1, p4, p6, p7, p9,
'HLA-DQA1*0501'::character
varying))
    "hladqb10201" btree (idr(p1, p4, p6, p7, p9,
'HLA-DQB1*0201'::character
varying))
    "hladr" btree (idr(p1, p4, p6, p7, p9, 'HLA-DR'::character varying))
    "hladr1" btree (idr(p1, p4, p6, p7, p9, 'HLA-DR1'::character varying))
    "hladr13" btree (idr(p1, p4, p6, p7, p9, 'HLA-DR13'::character
varying)=
)
    "hladr3" btree (idr(p1, p4, p6, p7, p9, 'HLA-DR3'::character varying))
    "hladr7" btree (idr(p1, p4, p6, p7, p9, 'HLA-DR7'::character varying))
    "hladrb10101" btree (idr(p1, p4, p6, p7, p9,
'HLA-DRB1*0101'::character
varying))
    "hladrb10102" btree (idr(p1, p4, p6, p7, p9,
'HLA-DRB1*0102'::character
varying))
    "hladrb10301" btree (idr(p1, p4, p6, p7, p9,
'HLA-DRB1*0301'::character
varying))
    "hladrb10302" btree (idr(p1, p4, p6, p7, p9,
'HLA-DRB1*0302'::character
varying))
    "hladrb10401" btree (idr(p1, p4, p6, p7, p9,
'HLA-DRB1*0401'::character
varying))
    "hladrb10402" btree (idr(p1, p4, p6, p7, p9,
'HLA-DRB1*0402'::character
varying))
    "hladrb10701" btree (idr(p1, p4, p6, p7, p9,
'HLA-DRB1*0701'::character
varying))
    "hladrb10802" btree (idr(p1, p4, p6, p7, p9,
'HLA-DRB1*0802'::character
varying))
    "hladrb10901" btree (idr(p1, p4, p6, p7, p9,
'HLA-DRB1*0901'::character
varying))
    "hladrb11101" btree (idr(p1, p4, p6, p7, p9,
'HLA-DRB1*1101'::character
varying))
    "hladrb11102" btree (idr(p1, p4, p6, p7, p9,
'HLA-DRB1*1102'::character
varying))
    "hladrb11103" btree (idr(p1, p4, p6, p7, p9,
'HLA-DRB1*1103'::character
varying))
    "hladrb11104" btree (idr(p1, p4, p6, p7, p9,
'HLA-DRB1*1104'::character
varying))
    "hladrb11301" btree (idr(p1, p4, p6, p7, p9,
'HLA-DRB1*1301'::character
varying))
    "hladrb11302" btree (idr(p1, p4, p6, p7, p9,
'HLA-DRB1*1302'::character
varying))
    "hladrb11501" btree (idr(p1, p4, p6, p7, p9,
'HLA-DRB1*1501'::character
varying))
    "hladrb40101" btree (idr(p1, p4, p6, p7, p9,
'HLA-DRB4*0101'::character
varying))
    "hladrb50101" btree (idr(p1, p4, p6, p7, p9,
'HLA-DRB5*0101'::character
varying))




when i do a query as:

select * from precalc where idr(p1, p4, p6, p7, p9, 'HLA-DRB1*0101')<-2;
it
works and return 128030 registers

if i do

select * from precalc where idr(p1, p4, p6, p7, p9, 'HLA-DRB1*0101')>-2;
3071970 registers, it don't work
ERROR:  relation "pssms" does not exist
CONTEXT:  SQL statement "select score from PSSMS where AA=3D $1  and
POS=3D=
1 and
MOLEC=3D $2 "
PL/pgSQL function "idr" line 11 at SQL statement

if i ask for explanation for both queries works:

mhc2db=3D> explain select count(*) from precalc where idr(p1, p4, p6, p7,
p=
9,
'HLA-DRB1*0101')<-2;
                                                   QUERY PLAN
---------------------------------------------------------------------------=
-------------------------------------
 Aggregate  (cost=3D66188.88..66188.89 rows=3D1 width=3D0)
   ->  Bitmap Heap Scan on precalc  (cost=3D17615.20..63522.21
rows=3D10666=
67
width=3D0)
         Recheck Cond: (idr(p1, p4, p6, p7, p9, 'HLA-DRB1*0101'::character
varying) < -2::double precision)
         ->  Bitmap Index Scan on hladrb10101  (cost=3D0.00..17348.54
rows=3D1066667 width=3D0)
               Index Cond: (idr(p1, p4, p6, p7, p9,
'HLA-DRB1*0101'::character varying) < -2::double precision)
(5 rows)

mhc2db=3D> explain select count(*) from precalc where idr(p1, p4, p6, p7,
p=
9,
'HLA-DRB1*0101')>-2;
                                                   QUERY PLAN
---------------------------------------------------------------------------=
-------------------------------------
 Aggregate  (cost=3D66188.88..66188.89 rows=3D1 width=3D0)
   ->  Bitmap Heap Scan on precalc  (cost=3D17615.20..63522.21
rows=3D10666=
67
width=3D0)
         Recheck Cond: (idr(p1, p4, p6, p7, p9, 'HLA-DRB1*0101'::character
varying) > -2::double precision)
         ->  Bitmap Index Scan on hladrb10101  (cost=3D0.00..17348.54
rows=3D1066667 width=3D0)
               Index Cond: (idr(p1, p4, p6, p7, p9,
'HLA-DRB1*0101'::character varying) > -2::double precision)
(5 rows)

and the index used are the correct ones

If for that reason that i think that my machine runs out of memory, by the
way, this is not the biggest table that i have others have more than
503000000 registers, so if I try to do a cross select between tables it
could be worse.


Any idea?

Thanks

pau

--=20
Pau Marc Mu=F1oz Torres

Laboratori de Biologia Computacional
Institut de Biotecnologia i Biomedicina Vicent Villar
Universitat Autonoma de Barcelona
E-08193 Bellaterra (Barcelona)

tel=E8fon: 93 5812807
Email : paumarc.munoz@[EMAIL PROTECTED]
 text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Hi<br><br>maybe i should give you some more explanations of my
problem.<br>=
<br>The reason for which i think that postgresql run out of memory is
that:=
 I have a relation with 6 fields, 29 indexes and 32000 registers, the
regis=
ters where made up using a pgsql language to save disk space, and they
&quo=
t;work&quot; (see the table schema under those lines)<br>


<br><br><br>&nbsp;Column |&nbsp;&nbsp;&nbsp;&nbsp;
Type&nbsp;&nbsp;&nbsp;&n=
bsp; |
Modifiers<br>--------+--------------+-----------<br>&nbsp;id&nbsp;&n=
bsp;&nbsp;&nbsp; | integer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
|<br>&nbsp;p1&nbsp=
;&nbsp;&nbsp;&nbsp; | character(1) |<br>&nbsp;p4&nbsp;&nbsp;&nbsp;&nbsp; |
=
character(1) |<br>
&nbsp;p6&nbsp;&nbsp;&nbsp;&nbsp; | character(1)
|<br>&nbsp;p7&nbsp;&nbsp;&n=
bsp;&nbsp; | character(1) |<br>&nbsp;p9&nbsp;&nbsp;&nbsp;&nbsp; |
character=
(1) |<br>Indexes:<br>&nbsp;&nbsp;&nbsp; &quot;h2iab&quot; btree (idr(p1,
p4=
, p6, p7, p9, &#39;H-2*IAb&#39;::character varying))<br>&nbsp;&nbsp;&nbsp;
=
&quot;h2iad&quot; btree (idr(p1, p4, p6, p7, p9,
&#39;H-2*IAd&#39;::charact=
er varying))<br>


&nbsp;&nbsp;&nbsp; &quot;h2iak&quot; btree (idr(p1, p4, p6, p7, p9,
&#39;H-=
2*IAk&#39;::character varying))<br>&nbsp;&nbsp;&nbsp; &quot;h2ied&quot;
btr=
ee (idr(p1, p4, p6, p7, p9, &#39;H-2*IEd&#39;::character
varying))<br>&nbsp=
;&nbsp;&nbsp; &quot;hladqa10501&quot; btree (idr(p1, p4, p6, p7, p9,
&#39;H=
LA-DQA1*0501&#39;::character varying))<br>


&nbsp;&nbsp;&nbsp; &quot;hladqb10201&quot; btree (idr(p1, p4, p6, p7, p9,
&=
#39;HLA-DQB1*0201&#39;::character varying))<br>&nbsp;&nbsp;&nbsp;
&quot;hla=
dr&quot; btree (idr(p1, p4, p6, p7, p9, &#39;HLA-DR&#39;::character
varying=
))<br>&nbsp;&nbsp;&nbsp; &quot;hladr1&quot; btree (idr(p1, p4, p6, p7, p9,
=
&#39;HLA-DR1&#39;::character varying))<br>


&nbsp;&nbsp;&nbsp; &quot;hladr13&quot; btree (idr(p1, p4, p6, p7, p9,
&#39;=
HLA-DR13&#39;::character varying))<br>&nbsp;&nbsp;&nbsp;
&quot;hladr3&quot;=
 btree (idr(p1, p4, p6, p7, p9, &#39;HLA-DR3&#39;::character
varying))<br>&=
nbsp;&nbsp;&nbsp; &quot;hladr7&quot; btree (idr(p1, p4, p6, p7, p9,
&#39;HL=
A-DR7&#39;::character varying))<br>


&nbsp;&nbsp;&nbsp; &quot;hladrb10101&quot; btree (idr(p1, p4, p6, p7, p9,
&=
#39;HLA-DRB1*0101&#39;::character varying))<br>&nbsp;&nbsp;&nbsp;
&quot;hla=
drb10102&quot; btree (idr(p1, p4, p6, p7, p9,
&#39;HLA-DRB1*0102&#39;::char=
acter varying))<br>&nbsp;&nbsp;&nbsp; &quot;hladrb10301&quot; btree
(idr(p1=
, p4, p6, p7, p9, &#39;HLA-DRB1*0301&#39;::character varying))<br>


&nbsp;&nbsp;&nbsp; &quot;hladrb10302&quot; btree (idr(p1, p4, p6, p7, p9,
&=
#39;HLA-DRB1*0302&#39;::character varying))<br>&nbsp;&nbsp;&nbsp;
&quot;hla=
drb10401&quot; btree (idr(p1, p4, p6, p7, p9,
&#39;HLA-DRB1*0401&#39;::char=
acter varying))<br>&nbsp;&nbsp;&nbsp; &quot;hladrb10402&quot; btree
(idr(p1=
, p4, p6, p7, p9, &#39;HLA-DRB1*0402&#39;::character varying))<br>


&nbsp;&nbsp;&nbsp; &quot;hladrb10701&quot; btree (idr(p1, p4, p6, p7, p9,
&=
#39;HLA-DRB1*0701&#39;::character varying))<br>&nbsp;&nbsp;&nbsp;
&quot;hla=
drb10802&quot; btree (idr(p1, p4, p6, p7, p9,
&#39;HLA-DRB1*0802&#39;::char=
acter varying))<br>&nbsp;&nbsp;&nbsp; &quot;hladrb10901&quot; btree
(idr(p1=
, p4, p6, p7, p9, &#39;HLA-DRB1*0901&#39;::character varying))<br>


&nbsp;&nbsp;&nbsp; &quot;hladrb11101&quot; btree (idr(p1, p4, p6, p7, p9,
&=
#39;HLA-DRB1*1101&#39;::character varying))<br>&nbsp;&nbsp;&nbsp;
&quot;hla=
drb11102&quot; btree (idr(p1, p4, p6, p7, p9,
&#39;HLA-DRB1*1102&#39;::char=
acter varying))<br>&nbsp;&nbsp;&nbsp; &quot;hladrb11103&quot; btree
(idr(p1=
, p4, p6, p7, p9, &#39;HLA-DRB1*1103&#39;::character varying))<br>


&nbsp;&nbsp;&nbsp; &quot;hladrb11104&quot; btree (idr(p1, p4, p6, p7, p9,
&=
#39;HLA-DRB1*1104&#39;::character varying))<br>&nbsp;&nbsp;&nbsp;
&quot;hla=
drb11301&quot; btree (idr(p1, p4, p6, p7, p9,
&#39;HLA-DRB1*1301&#39;::char=
acter varying))<br>&nbsp;&nbsp;&nbsp; &quot;hladrb11302&quot; btree
(idr(p1=
, p4, p6, p7, p9, &#39;HLA-DRB1*1302&#39;::character varying))<br>


&nbsp;&nbsp;&nbsp; &quot;hladrb11501&quot; btree (idr(p1, p4, p6, p7, p9,
&=
#39;HLA-DRB1*1501&#39;::character varying))<br>&nbsp;&nbsp;&nbsp;
&quot;hla=
drb40101&quot; btree (idr(p1, p4, p6, p7, p9,
&#39;HLA-DRB4*0101&#39;::char=
acter varying))<br>&nbsp;&nbsp;&nbsp; &quot;hladrb50101&quot; btree
(idr(p1=
, p4, p6, p7, p9, &#39;HLA-DRB5*0101&#39;::character varying))<br>


<br><br><br><br>when i do a query as:<br><br>select * from precalc where
id=
r(p1, p4, p6, p7, p9, &#39;HLA-DRB1*0101&#39;)&lt;-2; it works and return
1=
28030 registers<br><br>if i do <br><br>select * from precalc where idr(p1,
=
p4, p6, p7, p9, &#39;HLA-DRB1*0101&#39;)&gt;-2;&nbsp; 3071970 registers,
it=
 don&#39;t work<br>


ERROR:&nbsp; relation &quot;pssms&quot; does not exist<br>CONTEXT:&nbsp;
SQ=
L statement &quot;select score from PSSMS where AA=3D $1&nbsp; and POS=3D1
=
and MOLEC=3D $2 &quot;<br>PL/pgSQL function &quot;idr&quot; line 11 at SQL
=
statement<br><br>


if i ask for explanation for both queries works:<br><br>mhc2db=3D&gt;
expla=
in select count(*) from precalc where idr(p1, p4, p6, p7, p9,
&#39;HLA-DRB1=
*0101&#39;)&lt;-2;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp; QUERY PLAN<br>


---------------------------------------------------------------------------=
-------------------------------------<br>&nbsp;Aggregate&nbsp;
(cost=3D6618=
8.88..66188.89 rows=3D1 width=3D0)<br>&nbsp;&nbsp; -&gt;&nbsp; Bitmap Heap
=
Scan on precalc&nbsp; (cost=3D17615.20..63522.21 rows=3D1066667
width=3D0)<=
br>


&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Recheck Cond: (idr(p1,
p4,=
 p6, p7, p9, &#39;HLA-DRB1*0101&#39;::character varying) &lt; -2::double
pr=
ecision)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -&gt;&nbsp;
Bi=
tmap Index Scan on hladrb10101&nbsp; (cost=3D0.00..17348.54 rows=3D1066667
=
width=3D0)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp; Index Cond: (idr(p1, p4, p6, p7, p9,
&#39;HLA-DRB1*=
0101&#39;::character varying) &lt; -2::double precision)<br>


(5 rows)<br><br>mhc2db=3D&gt; explain select count(*) from precalc where
id=
r(p1, p4, p6, p7, p9,
&#39;HLA-DRB1*0101&#39;)&gt;-2;<br>&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; QUERY
PLAN<br>---=
---------------------------------------------------------------------------=
----------------------------------<br>


&nbsp;Aggregate&nbsp; (cost=3D66188.88..66188.89 rows=3D1
width=3D0)<br>&nb=
sp;&nbsp; -&gt;&nbsp; Bitmap Heap Scan on precalc&nbsp;
(cost=3D17615.20..6=
3522.21 rows=3D1066667
width=3D0)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp; Recheck Cond: (idr(p1, p4, p6, p7, p9,
&#39;HLA-DRB1*0101&#39;::=
character varying) &gt; -2::double precision)<br>


&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -&gt;&nbsp; Bitmap Index
S=
can on hladrb10101&nbsp; (cost=3D0.00..17348.54 rows=3D1066667
width=3D0)<b=
r>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp; Index Cond: (idr(p1, p4, p6, p7, p9,
&#39;HLA-DRB1*0101&#39;::c=
haracter varying) &gt; -2::double precision)<br>


(5 rows)<br><br>and the index used are the correct ones<br><br>If for that
=
reason that i think that my machine runs out of memory, by the way, this
is=
 not the biggest table that i have others have more than 503000000
register=
s, so if I try to do a cross select between tables it could be worse.<br>

<br><br>Any idea?<br>&nbsp;<br>Thanks<br><br>pau<br clear=3D"all"><br>--
<b=
r>Pau Marc Mu=F1oz Torres<br><br>Laboratori de Biologia Computacional
<br>I=
nstitut de Biotecnologia i Biomedicina Vicent Villar <br>Universitat
Autono=
ma de Barcelona<br>


E-08193 Bellaterra (Barcelona)<br> <br>tel=E8fon: 93 5812807<br>Email :
pau=
marc.munoz@[EMAIL PROTECTED]

 




 6 Posts in Topic:
Problems with memory
paumarc@[EMAIL PROTECTED]  2008-05-07 17:55:08 
Re: Problems with memory
dev@[EMAIL PROTECTED] (R  2008-05-07 17:09:20 
Re: Problems with memory
mmoncure@[EMAIL PROTECTED  2008-05-07 14:44:18 
Re: Problems with memory
paumarc@[EMAIL PROTECTED]  2008-05-08 11:54:14 
Re: Problems with memory
dev@[EMAIL PROTECTED] (R  2008-05-08 11:24:43 
Re: Problems with memory
pgsql@[EMAIL PROTECTED]   2008-05-09 01:32:58 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Sat Nov 22 1:01:56 CST 2008.