Обсуждение: Checking a size of a given database
I have been given a task to try a proof of concept of migrating are active databases from PostgreSQL 8.0.1 to 8.2.3 I will install and configPostgreSQL on my local w/s and replicate the database users etc etc. I have had a look inside /var/lib/pgsql/data/base and there are numerous files (db's) which I believe is where I can checkdata base size. 1 108012 114465 122407 1261267 1261963 17229 17233 17234 17235 174066 19247 205009 21272 2793694 2794334 333245 333375 I am aware that Postgresql creates directories to keep each database in. These directories aren't names,they are kept as the *'OID's *of each database (oid's are*"object identifiers"*). Previously I just run pg_dump and thus run ls -lh on the db dump. Anyway of checking a size of a given database I have tried the sql using select pg_database_size ('dbaname'); but no joy. Cheers Chuck -- Chuck Amadi ROK Corporation Limited Ty ROK, Dyffryn Business Park, Llantwit Major Road, Llandow, Vale Of Glamorgan. CF71 7PY Tel: 01446 795 839 Fax: 01446 794 994 International Tel: +44 1446 795 839 email: chuck.amadi@rokcorp.com This email is confidential to the addressee only. If you do not believe that you are the intended recipient, do not pass it on or copy it in any way. Please delete it immediately.
Chuck Amadi написа: > I have been given a task to try a proof of concept of migrating are > active databases from PostgreSQL 8.0.1 to 8.2.3 > > I will install and configPostgreSQL on my local w/s and replicate the > database users etc etc. > > I have had a look inside /var/lib/pgsql/data/base and there are > numerous files (db's) which I believe is where I can check data base size. > > 1 108012 114465 122407 1261267 1261963 17229 17233 17234 17235 > 174066 19247 205009 21272 2793694 2794334 333245 333375 > > I am aware that Postgresql creates directories to keep each database in. > These directories aren't names,they are kept as the *'OID's *of each > database (oid's are*"object identifiers"*). > > Previously I just run pg_dump and thus run ls -lh on the db dump. Anyway > of checking a size of a given database I have tried > the sql using select pg_database_size ('dbaname'); but no joy. What does it mean "but no joy"? What was the error message? -- Milen A. Radev
I found the following script useful; for calculating database size:-
-- Query returns size of a database calculated from the no. 8k pages allocated to tables
SELECT
sum( relpages*8/1024 ) as MB
FROM
pg_class
WHERE
-- relname != ''
-- relname = 'tablename'
relnamespace = '2200'
SELECT
sum( relpages*8/1024 ) as MB
FROM
pg_class
WHERE
-- relname != ''
-- relname = 'tablename'
relnamespace = '2200'
On 4/17/07, Chuck Amadi <chuck.amadi@rokcorp.com> wrote:
I have been given a task to try a proof of concept of migrating are active databases from PostgreSQL 8.0.1 to 8.2.3
I will install and configPostgreSQL on my local w/s and replicate the database users etc etc.
I have had a look inside /var/lib/pgsql/data/base and there are numerous files (db's) which I believe is where I can check data base size.
1 108012 114465 122407 1261267 1261963 17229 17233 17234 17235 174066 19247 205009 21272 2793694 2794334 333245 333375
I am aware that Postgresql creates directories to keep each database in.
These directories aren't names,they are kept as the *'OID's *of each
database (oid's are*"object identifiers"*).
Previously I just run pg_dump and thus run ls -lh on the db dump. Anyway
of checking a size of a given database I have tried
the sql using select pg_database_size ('dbaname'); but no joy.
Cheers
Chuck
--
Chuck Amadi
ROK Corporation Limited
Ty ROK,
Dyffryn Business Park,
Llantwit Major Road,
Llandow,
Vale Of Glamorgan.
CF71 7PY
Tel: 01446 795 839
Fax: 01446 794 994
International Tel: +44 1446 795 839
email: chuck.amadi@rokcorp.com
This email is confidential to the addressee only. If you do not believe
that you are the intended recipient, do not pass it on or copy it in any
way. Please delete it immediately.
---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
choose an index scan if your joining column's datatypes do not
match
adey wrote: > I found the following script useful; for calculating database size:- select pg_database_size? http://www.postgresql.org/docs/8.2/static/functions-admin.html > > -- Query returns size of a database calculated from the no. 8k pages > allocated to tables > SELECT > sum( relpages*8/1024 ) as MB > FROM > pg_class > WHERE > -- relname != '' > -- relname = 'tablename' > relnamespace = '2200' > > > On 4/17/07, *Chuck Amadi* <chuck.amadi@rokcorp.com > <mailto:chuck.amadi@rokcorp.com>> wrote: > > I have been given a task to try a proof of concept of migrating are > active databases from PostgreSQL 8.0.1 to 8.2.3 > > I will install and configPostgreSQL on my local w/s and replicate > the database users etc etc. > > I have had a look inside /var/lib/pgsql/data/base and there are > numerous files (db's) which I believe is where I can check data > base size. > > 1 108012 114465 122407 1261267 1261963 17229 17233 17234 17235 174066 19247 205009 21272 2793694 2794334 333245 333375 > > I am aware that Postgresql creates directories to keep each database > in. > These directories aren't names,they are kept as the *'OID's *of each > database (oid's are*"object identifiers"*). > > Previously I just run pg_dump and thus run ls -lh on the db dump. > Anyway > of checking a size of a given database I have tried > the sql using select pg_database_size ('dbaname'); but no joy. > > Cheers > Chuck > > -- > Chuck Amadi > ROK Corporation Limited > Ty ROK, > Dyffryn Business Park, > Llantwit Major Road, > Llandow, > Vale Of Glamorgan. > CF71 7PY > > Tel: 01446 795 839 > Fax: 01446 794 994 > International Tel: +44 1446 795 839 > > email: chuck.amadi@rokcorp.com <mailto:chuck.amadi@rokcorp.com> > > This email is confidential to the addressee only. If you do not believe > that you are the intended recipient, do not pass it on or copy it in any > way. Please delete it immediately. > > > > ---------------------------(end of > broadcast)--------------------------- > TIP 9: In versions below 8.0, the planner will ignore your desire to > choose an index scan if your joining column's datatypes do not > match > > -- === The PostgreSQL Company: Command Prompt, Inc. === Sales/Support: +1.503.667.4564 || 24x7/Emergency: +1.800.492.2240 Providing the most comprehensive PostgreSQL solutions since 1997 http://www.commandprompt.com/ Donate to the PostgreSQL Project: http://www.postgresql.org/about/donate PostgreSQL Replication: http://www.commandprompt.com/products/
On Tue, 17 Apr 2007, Joshua D. Drake wrote: > adey wrote: >> I found the following script useful; for calculating database size:- > > select pg_database_size? > > http://www.postgresql.org/docs/8.2/static/functions-admin.html That works great for 8.1+ but I believe the OP wants to do it with 8.0.1. If so, he'll have to install the dbsize contrib module to do it for the 8.0.1 DB. >> I have been given a task to try a proof of concept of migrating are >> active databases from PostgreSQL 8.0.1 to 8.2.3 >> >> I will install and configPostgreSQL on my local w/s and replicate >> the database users etc etc. >> >> I have had a look inside /var/lib/pgsql/data/base and there are >> numerous files (db's) which I believe is where I can check data >> base size. >> >> 1 108012 114465 122407 1261267 1261963 17229 17233 17234 17235 >> 174066 19247 205009 21272 2793694 2794334 333245 333375 >> >> I am aware that Postgresql creates directories to keep each database >> in. >> These directories aren't names,they are kept as the *'OID's *of each >> database (oid's are*"object identifiers"*). >> >> Previously I just run pg_dump and thus run ls -lh on the db dump. >> Anyway >> of checking a size of a given database I have tried >> the sql using select pg_database_size ('dbaname'); but no joy. >> -- Jeff Frost, Owner <jeff@frostconsultingllc.com> Frost Consulting, LLC http://www.frostconsultingllc.com/ Phone: 650-780-7908 FAX: 650-649-1954
On Tuesday 17 April 2007 07:39, Milen A. Radev wrote: > Chuck Amadi написа: > > I have been given a task to try a proof of concept of migrating are > > active databases from PostgreSQL 8.0.1 to 8.2.3 > > > > I will install and configPostgreSQL on my local w/s and replicate the > > database users etc etc. > > > > I have had a look inside /var/lib/pgsql/data/base and there are > > numerous files (db's) which I believe is where I can check data base > > size. > > > > 1 108012 114465 122407 1261267 1261963 17229 17233 17234 17235 > > 174066 19247 205009 21272 2793694 2794334 333245 333375 > > > > I am aware that Postgresql creates directories to keep each database in. > > These directories aren't names,they are kept as the *'OID's *of each > > database (oid's are*"object identifiers"*). > > > > Previously I just run pg_dump and thus run ls -lh on the db dump. Anyway > > of checking a size of a given database I have tried > > the sql using select pg_database_size ('dbaname'); but no joy. > > What does it mean "but no joy"? What was the error message? Well, given that the function doesn't exist in 8.0.1, I'd guess it means that it didn't work for him. In 8.0.x you need to use the dbsize contrib module to get database size, or match things up manually on disk with select oid,datname from pg_database. -- Robert Treat Database Architect http://www.omniti.com