Contrib: Reindex script.
Ok,
As before, this script is basically a vacuumdb for indexes. I call it
reindexdb on my own system, and put it in the postgres binary directory
simply because it's indispensable in my system.
This should be the last one. Someone complained that assuming that the
script will reside in the same directory as psql was silly. That's
true, though eventually I'd like to see this, or a utility like it,
included in the official postgres distribution.
The script now uses various tricks to figure out where psql is.
Starting with path, continuing with the directory the script is in,
then whereis, and finally locate. These are arranged in order of speed
so it can find psql as fast as possible. Even so, the full iteration
through all methods takes less than a second.
If your system doesn't have whereis or locate, I've directed output from
all of these search commands to /dev/null so these tests will simply
fail if the command is unavailable.
Use, and enjoy.
--
+-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+
| Shaun M. Thomas INN Database Administrator |
| Phone: (309) 743-0812 Fax : (309) 743-0830 |
| Email: sthomas@townnews.com AIM : trifthen |
| Web : www.townnews.com |
| |
| "Most of our lives are about proving something, either to |
| ourselves or to someone else." |
| -- Anonymous |
+-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+
Attachments:
reindexdbtext/plain; charset=US-ASCII; name=reindexdbDownload
Shaun Thomas wrote:
Ok,
As before, this script is basically a vacuumdb for indexes. I call it
reindexdb on my own system, and put it in the postgres binary directory
simply because it's indispensable in my system.This should be the last one.
[snip....]
Hi Shaun,
Thanks for that script but....
your script doesn't deal with mixed case table names (reindexdb -a).
I modified it to my needs by altering the REINDEX command from
$PSQL $PSQLOPT $ECHOOPT -c "REINDEX TABLE $tab" -d $db
to:
$PSQL $PSQLOPT $ECHOOPT -c "REINDEX TABLE \"$tab\"" -d $db
Regards
Tina
Sorry, this is the actual version I applied.
---------------------------------------------------------------------------
Shaun Thomas wrote:
Ok,
As before, this script is basically a vacuumdb for indexes. I call it
reindexdb on my own system, and put it in the postgres binary directory
simply because it's indispensable in my system.This should be the last one. Someone complained that assuming that the
script will reside in the same directory as psql was silly. That's
true, though eventually I'd like to see this, or a utility like it,
included in the official postgres distribution.The script now uses various tricks to figure out where psql is.
Starting with path, continuing with the directory the script is in,
then whereis, and finally locate. These are arranged in order of speed
so it can find psql as fast as possible. Even so, the full iteration
through all methods takes less than a second.If your system doesn't have whereis or locate, I've directed output from
all of these search commands to /dev/null so these tests will simply
fail if the command is unavailable.Use, and enjoy.
-- +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+ | Shaun M. Thomas INN Database Administrator | | Phone: (309) 743-0812 Fax : (309) 743-0830 | | Email: sthomas@townnews.com AIM : trifthen | | Web : www.townnews.com | | | | "Most of our lives are about proving something, either to | | ourselves or to someone else." | | -- Anonymous | +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+
Content-Description:
[ Attachment, skipping... ]
---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026
Tina Messmann wrote:
Shaun Thomas wrote:
Ok,
As before, this script is basically a vacuumdb for indexes. I call it
reindexdb on my own system, and put it in the postgres binary directory
simply because it's indispensable in my system.This should be the last one.
[snip....]
Hi Shaun,
Thanks for that script but....
your script doesn't deal with mixed case table names (reindexdb -a).I modified it to my needs by altering the REINDEX command from
$PSQL $PSQLOPT $ECHOOPT -c "REINDEX TABLE $tab" -d $db
to:$PSQL $PSQLOPT $ECHOOPT -c "REINDEX TABLE \"$tab\"" -d $db
Changes made to CVS, actually in two places. Patch attached.
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026