summaryrefslogtreecommitdiff
path: root/contrib/oid2name
diff options
context:
space:
mode:
authorBruce Momjian2007-11-10 23:30:46 +0000
committerBruce Momjian2007-11-10 23:30:46 +0000
commitc3c69ab4fd25a20749b850d34cbc8ce3f1812e3b (patch)
treea7d9b4501297216ac71f597dca3840090ae791d5 /contrib/oid2name
parent6e414a171e8a91966b10ecd14aa367422870bdd2 (diff)
Move most /contrib README files into SGML. Some still need conversion
or will never be converted.
Diffstat (limited to 'contrib/oid2name')
-rw-r--r--contrib/oid2name/README.oid2name165
1 files changed, 0 insertions, 165 deletions
diff --git a/contrib/oid2name/README.oid2name b/contrib/oid2name/README.oid2name
deleted file mode 100644
index 9dd1ddc310c..00000000000
--- a/contrib/oid2name/README.oid2name
+++ /dev/null
@@ -1,165 +0,0 @@
-This utility allows administrators to examine the file structure used by
-PostgreSQL. To make use of it, you need to be familiar with the file
-structure, which is described in the "Database File Layout" chapter of
-the "Internals" section of the PostgreSQL documentation.
-
-Oid2name connects to the database and extracts OID, filenode, and table
-name information. You can also have it show database OIDs and tablespace
-OIDs.
-
-When displaying specific tables, you can select which tables to show by
-using -o, -f and -t. The first switch takes an OID, the second takes
-a filenode, and the third takes a tablename (actually, it's a LIKE
-pattern, so you can use things like "foo%"). Note that you can use as many
-of these switches as you like, and the listing will include all objects
-matched by any of the switches. Also note that these switches can only
-show objects in the database given in -d.
-
-If you don't give any of -o, -f or -t it will dump all the tables in the
-database given in -d. If you don't give -d, it will show a database
-listing. Alternatively you can give -s to get a tablespace listing.
-
-Additional switches:
- -i include indexes and sequences in the database listing.
- -x display more information about each object shown:
- tablespace name, schema name, OID.
- -S also show system objects
- (those in information_schema, pg_toast and pg_catalog schemas)
- -q don't display headers
- (useful for scripting)
-
----------------------------------------------------------------------------
-
-Sample session:
-
-$ oid2name
-All databases:
- Oid Database Name Tablespace
-----------------------------------
- 17228 alvherre pg_default
- 17255 regression pg_default
- 17227 template0 pg_default
- 1 template1 pg_default
-
-$ oid2name -s
-All tablespaces:
- Oid Tablespace Name
--------------------------
- 1663 pg_default
- 1664 pg_global
- 155151 fastdisk
- 155152 bigdisk
-
-$ cd $PGDATA/17228
-
-$ # get top 10 db objects in the default tablespace, ordered by size
-$ ls -lS * | head -10
--rw------- 1 alvherre alvherre 136536064 sep 14 09:51 155173
--rw------- 1 alvherre alvherre 17965056 sep 14 09:51 1155291
--rw------- 1 alvherre alvherre 1204224 sep 14 09:51 16717
--rw------- 1 alvherre alvherre 581632 sep 6 17:51 1255
--rw------- 1 alvherre alvherre 237568 sep 14 09:50 16674
--rw------- 1 alvherre alvherre 212992 sep 14 09:51 1249
--rw------- 1 alvherre alvherre 204800 sep 14 09:51 16684
--rw------- 1 alvherre alvherre 196608 sep 14 09:50 16700
--rw------- 1 alvherre alvherre 163840 sep 14 09:50 16699
--rw------- 1 alvherre alvherre 122880 sep 6 17:51 16751
-
-$ oid2name -d alvherre -f 155173
-From database "alvherre":
- Filenode Table Name
-----------------------
- 155173 accounts
-
-$ # you can ask for more than one object
-$ oid2name -d alvherre -f 155173 -f 1155291
-From database "alvherre":
- Filenode Table Name
--------------------------
- 155173 accounts
- 1155291 accounts_pkey
-
-$ # you can also mix the options, and have more details
-$ oid2name -d alvherre -t accounts -f 1155291 -x
-From database "alvherre":
- Filenode Table Name Oid Schema Tablespace
-------------------------------------------------------
- 155173 accounts 155173 public pg_default
- 1155291 accounts_pkey 1155291 public pg_default
-
-$ # show disk space for every db object
-$ du [0-9]* |
-> while read SIZE FILENODE
-> do
-> echo "$SIZE `oid2name -q -d alvherre -i -f $FILENODE`"
-> done
-16 1155287 branches_pkey
-16 1155289 tellers_pkey
-17561 1155291 accounts_pkey
-...
-
-$ # same, but sort by size
-$ du [0-9]* | sort -rn | while read SIZE FN
-> do
-> echo "$SIZE `oid2name -q -d alvherre -f $FN`"
-> done
-133466 155173 accounts
-17561 1155291 accounts_pkey
-1177 16717 pg_proc_proname_args_nsp_index
-...
-
-$ # If you want to see what's in tablespaces, use the pg_tblspc directory
-$ cd $PGDATA/pg_tblspc
-$ oid2name -s
-All tablespaces:
- Oid Tablespace Name
--------------------------
- 1663 pg_default
- 1664 pg_global
- 155151 fastdisk
- 155152 bigdisk
-
-$ # what databases have objects in tablespace "fastdisk"?
-$ ls -d 155151/*
-155151/17228/ 155151/PG_VERSION
-
-$ # Oh, what was database 17228 again?
-$ oid2name
-All databases:
- Oid Database Name Tablespace
-----------------------------------
- 17228 alvherre pg_default
- 17255 regression pg_default
- 17227 template0 pg_default
- 1 template1 pg_default
-
-$ # Let's see what objects does this database have in the tablespace.
-$ cd 155151/17228
-$ ls -l
-total 0
--rw------- 1 postgres postgres 0 sep 13 23:20 155156
-
-$ # OK, this is a pretty small table ... but which one is it?
-$ oid2name -d alvherre -f 155156
-From database "alvherre":
- Filenode Table Name
-----------------------
- 155156 foo
-
-$ # end of sample session.
-
----------------------------------------------------------------------------
-
-You can also get approximate size data for each object using psql. For
-example,
-
-SELECT relpages, relfilenode, relname FROM pg_class ORDER BY relpages DESC;
-
-Each page is typically 8k. Relpages is updated by VACUUM.
-
----------------------------------------------------------------------------
-
-Mail me with any problems or additions you would like to see. Clearing
-house for the code will be at: http://www.crimelabs.net
-
-b. palmer, bpalmer@crimelabs.net