[GENERAL] postgres table have a large number of relpages and occupied a big memory size

2011-08-05 Thread Vivekkumar Pandey
Hi all,

   I have a cluster database with a master and slave  ,
the size of master database is very high reltive to slave
   while both have approximatly same data.

 On master

  # select pg_size_pretty(pg_database_size('table_name'));

  pg_size_pretty
  
   15 GB
  (1 row)

relname | reltuples | MB
--+-+--
Table1 | 876 | 4395
Table2 | 1.69135e+06 | 1919
Table3 | 1.69137e+06 | 1298
Table4 | 289 | 1062
 Table5 | 2007 | 1031
Table6 | 1.69136e+06 | 1019
Table7 | 1809 | 673
 Table8 | 1.69137e+06 | 476

On Slave

  # select pg_size_pretty(pg_database_size('table_name'));

pg_size_pretty

1411 MB
(1 row)

all of the table having same number of tuples on slave while having
very low space relative to master .

Please give the reason and appropriate solution of this problem.






-- 
Thanks

VIVEK KUMAR PANDEY

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


Re: [GENERAL] postgres table have a large number of relpages and occupied a big memory size

2011-08-05 Thread Vivekkumar Pandey
Hi Tomas,

I am using the slony cluster and both the database have the same Data.

So Please provide the appropriate solution

On Fri, Aug 5, 2011 at 12:47 PM, Tomas Vondra  wrote:
> On 5 Srpen 2011, 9:00, Vivekkumar Pandey wrote:
>> Hi all,
>>
>>        I have a cluster database with a master and slave  ,
>>     the size of master database is very high reltive to slave
>>    while both have approximatly same data.
>
> What version of PostgreSQL is this, what kind of cluster, and what do you
> mean by "approximately"?
>
> With xlog-based replication (file shipping or streaming replication), the
> relations should have exactly the same size, but they should also contain
> exactly the same data.
>
> That suggests you're using something else to build the cluster (e.g. slony
> or something like that). In that case the size difference may be simply
> due to data differences or dead tuples. VACUUM FULL should compact the
> dead tuples, but it's not a cheap command (takes exclusive locks, time and
> memory).
>
> Tomas
>
>



-- 
Thanks

VIVEK KUMAR PANDEY

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


Re: [GENERAL] postgres table have a large number of relpages and occupied a big memory size

2011-08-05 Thread Vivekkumar Pandey
Hi,
slon process is running on the system .

Now , I have a question that Why dead tupples are remains in the table
while AUTOVACUUM process running at the fixed interval of time without
any error.
Also suggest the Query that can view the dead tuples in the table.

Thanks for instant reply...
On Fri, Aug 5, 2011 at 1:22 PM, Jaime Casanova  wrote:
> On Fri, Aug 5, 2011 at 2:37 AM, Vivekkumar Pandey
>  wrote:
>>
>> Hi Tomas,
>>
>>    I am using the slony cluster and both the database have the same Data.
>>
>> So Please provide the appropriate solution
>>
>> On Fri, Aug 5, 2011 at 12:47 PM, Tomas Vondra  wrote:
>> >
>> > That suggests you're using something else to build the cluster (e.g. slony
>> > or something like that). In that case the size difference may be simply
>> > due to data differences or dead tuples. VACUUM FULL should compact the
>> > dead tuples, but it's not a cheap command (takes exclusive locks, time and
>> > memory).
>> >
>
> It seems like Tomas gives you the solution (at least part of it): use
> VACUUM FULL to compact your data on the master.
> Also, probably you want to revisiti your autovacuum's configuration.
>
> Finally, remember that Slony has two tables that logs all changes in
> the database... normally only one of the table should be in use while
> Slony is processing the queu of the other and truncate it. but if the
> slon process are not running those tables start to grow... can you
> check that the slon processes are running
>
> --
> Jaime Casanova         www.2ndQuadrant.com
> Professional PostgreSQL: Soporte 24x7 y capacitación
>



-- 
Thanks

VIVEK KUMAR PANDEY

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


Re: [GENERAL] postgres table have a large number of relpages and occupied a big memory size

2011-08-07 Thread Vivekkumar Pandey
Hi ,

  I have version of PostgreSQL as given below:---

   version
-
 PostgreSQL 8.1.2 on i686-pc-linux-gnu, compiled by GCC gcc (GCC)
3.3.3 (SuSE Linux)

And it does't have any n_dead_tup columns in pg_stat_all_tables like this:

mydb=# \d pg_stat_all_tables
View "pg_catalog.pg_stat_all_tables"
Column |  Type  | Modifiers
---++---
 relid | oid|
 schemaname| name   |
 relname   | name   |
 seq_scan  | bigint |
 seq_tup_read  | bigint |
 idx_scan  | bigint |
 idx_tup_fetch | bigint |
 n_tup_ins | bigint |
 n_tup_upd | bigint |
 n_tup_del | bigint |

In what situations table creates a new row instead of using deleted
marked tuples that's why size of table increases abnormally.



On Sat, Aug 6, 2011 at 12:12 AM, Jaime Casanova  wrote:
> On Fri, Aug 5, 2011 at 5:26 AM, Tomas Vondra  wrote:
>> On 5 Srpen 2011, 10:52, Vivekkumar Pandey wrote:
>>
>>> Also suggest the Query that can view the dead tuples in the table.
>>
>> You can't see the dead tuples with a query - that's why they're called
>> dead.
>
> you can see an estimate of how many dead tuples are looking at the
> n_dead_tup in pg_stat_all_tables
>
> --
> Jaime Casanova         www.2ndQuadrant.com
> Professional PostgreSQL: Soporte 24x7 y capacitación
>



-- 
Thanks

VIVEK KUMAR PANDEY

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


Re: [GENERAL] postgres table have a large number of relpages and occupied a big memory size

2011-08-09 Thread Vivekkumar Pandey
I have seen that autovacuum takes long time to process .
please give me the reason ..

On Mon, Aug 8, 2011 at 2:10 PM, Tomas Vondra  wrote:
> On 8 Srpen 2011, 8:02, Vivekkumar Pandey wrote:
>> Hi ,
>>
>>       I have version of PostgreSQL as given below:---
>>
>>                                        version
>> -
>>  PostgreSQL 8.1.2 on i686-pc-linux-gnu, compiled by GCC gcc (GCC)
>> 3.3.3 (SuSE Linux)
>>
>> And it does't have any n_dead_tup columns in pg_stat_all_tables like this:
>
> That's because this column was added in 8.3.
>
> BTW you're using a way too old version. It's not just that 8.1 is
> unsupported, but the last minor subversion in this branch is 8.1.23. There
> were numerous bugfixes since 8.1.2, so you should upgrade at least to this
> version (and plan to upgrade to something more fresh).
>
>> In what situations table creates a new row instead of using deleted
>> marked tuples that's why size of table increases abnormally.
>
> Whenever a row is modified - that means insert, update or delete. That's
> how PostgreSQL MVCC works. This wasted space needs to be reclaimed, which
> is exactly what (auto)vacuum does.
>
> PS: With HOT this is not exactly true, but HOT is not available in 8.1
> anyway. Another reason to upgrade to a more recent version.
>
> Tomas
>
>
> --
> Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
>



-- 
Thanks

VIVEK KUMAR PANDEY

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


Re: [GENERAL] postgres table have a large number of relpages and occupied a big memory size

2011-08-09 Thread Vivekkumar Pandey
On Tue, Aug 9, 2011 at 2:59 PM, Tomas Vondra  wrote:
> On 9 Srpen 2011, 9:18, Vivekkumar Pandey wrote:
>> I have seen that autovacuum takes long time to process .
>> please give me the reason ..
>
> What do you mean by "takes long time to process"? How do you measure it?
>
> Autovacuum is meant as a background process, and it should run on
> background and not influence the performance significantly. In some cases
> the default settings is not aggressive enough, so the database grows.
>
> In that case you probably need to
> - lower autovacuum_vacuum_threshold
> - lower autovacuum_vacuum_scale_factor
> - lower autovacuum_vacuum_cost_delay
> - increase autovacuum_vacuum_cost_limit
>
> But I'm not sure this is the case. And this does not release the space,
> it's still occupied by the database (just ready to be reused by new data).
>
> If you really want to compact the database, you may run VACUUM FULL. But
> that may be very intensive process, locks tables etc.
>
> Tomas
>
>

I have seen postgres.log file and search for a string "autovacuum" .

I found that

time  |   DB
--
5:04   |   template0
5:09   |   DB1
5:25   |   DB2
5:30   |   template1
5:35   |   template0
5:40   |   DB1
5:54   |   DB2
5:59   |   template1

this time is given when autovacuum process available for Database.
Here we see that DB1 consume around 15 min of autovacuum process
while others consume 5 min(equal to naptime).
this shows autovacuum process takes too much time for DB1.

Also, size of DB1 is 15 GB .

Is there any relation of b/w big size of DB and long autovacuum process time

-- 
Thanks

VIVEK KUMAR PANDEY

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general