title: How to reindex Postgres 9.1.3 from the command line
body: <p>I have a series of deletes and updates on a few tables in a Postgres database I manage. It has been suggested to schedule a reindex after the series of deletes as a solution to the 10 minute next-step update freezing infinitely (as it randomly does.) The DOS instructions provide this:</p>
  
  <pre><code>Usage:
    reindexdb [OPTION]... [DBNAME]
  
  Options:
    -a, --all                 reindex all databases
    -d, --dbname=DBNAME       database to reindex
    -e, --echo                show the commands being sent to the server
    -i, --index=INDEX         recreate specific index only
    -q, --quiet               don't write any messages
    -s, --system              reindex system catalogs
    -t, --table=TABLE         reindex specific table only
    --help                    show this help, then exit
    --version                 output version information, then exit
  
  Connection options:
    -h, --host=HOSTNAME       database server host or socket directory
    -p, --port=PORT           database server port
    -U, --username=USERNAME   user name to connect as
    -w, --no-password         never prompt for password
    -W, --password            force password prompt
  </code></pre>
  
  <p>We have to use version 9.1.3 as this is the corporate standard.
   I have tried every option I can think of but it won't take the command to reindex:</p>
  
  <pre><code>reindexdb.exe -U username=MyUserName -W MyPassword -t table=MyDatabase.MyTable
  </code></pre>
  
  <p>I've also tried</p>
  
  <pre><code>reindexdb.exe -U MyUserName -W MyPassword -t MyDatabase.MyTable
  </code></pre>
  
  <p>and </p>
  
  <pre><code>reindexdb.exe -U MyUserName -W MyPassword -t MyTable -d MyDatabase
  </code></pre>
  
  <p>...but they all end with the error:</p>
  
  <pre><code>reindexdb: too many command-line arguments (first is "-t")
  </code></pre>
  
  <p>Does anyone have a working sample that would be able to clarify what the right syntax is?</p>