=head1 NAME

B<pgsqlsetup> - Sets up the PostgreSQL database for xCAT to use.  

=head1 SYNOPSIS


B<pgsqlsetup> {B<-h>|B<--help>}

B<pgsqlsetup> {B<-v>|B<--version>}

B<pgsqlsetup> {B<-i>|B<--init>} [-N|nostart] [-P|--PCM] [-o|--setupODBC] [B<-V>|B<--verbose>]

B<pgsqlsetup> {B<-o>|B<--setupODBC>} [-V|--verbose] 

=head1 DESCRIPTION

B<pgsqlsetup> - Sets up the PostgreSQL database for xCAT to use. The pgsqlsetup script is run on the Management Node as root after the PostgreSQL code has been installed. The xcatd daemon will be stopped during migration.  No xCAT commands should be run during the init process, because we will be migrating the xCAT database to PostgreSQL and restarting the xcatd daemon as well as the PostgreSQL daemon. For full information on all the steps that will be done reference 
One password must be supplied for the setup,  a password for the xcatadm unix id and the same password for the xcatadm database id.  The password will be prompted for interactively or you can set the XCATPGPW environment variable to the password and then there will be no prompt.  

=head1 OPTIONS

=over 6

=item B<-h|--help>

Displays the usage message.

=item B<-v|--version>

Displays the release version of the code.

=item B<-V|--verbose>

Displays verbose messages.

=item B<-i|--init>

The init option is used to setup an installed PostgreSQL database so that xCAT can use the database.  This involves creating the xcat database, the xcat admin id, allowing access to the xcatdb database by the Management Node. It customizes the postgresql.conf configuration file, adds the management server to the pg_hba.conf and starts the PostgreSQL server.  It also backs up the current xCAT database and restores it into the newly setup xcatdb PostgreSQL database.  It creates the /etc/xcat/cfgloc file to point the xcatd daemon to the PostgreSQL database and restarts the xcatd daemon using the database. 
On AIX, it additionally setup the xcatadm unix id and the postgres id and group. For AIX, you should be using the PostgreSQL rpms available from the xCAT website. For Linux, you should use the PostgreSQL rpms shipped with the OS. You can chose the -o option, to run after the init.
To add additional nodes to access the PostgreSQL server, setup on the Management Node,  edit the pg_hba.conf file.   

For more documentation see:https://sourceforge.net/apps/mediawiki/xcat/index.php?title=Setting_Up_PostgreSQL_as_the_xCAT_DB

=item B<-N|--nostart>

This option with the -i flag will create the database, but will not backup and restore xCAT tables into the database. It will create the cfgloc file such that the next start of xcatd will try and contact the database.  This can be used to setup the xCAT PostgreSQL database during or before install.

=item B<-P|--PCM>

This option sets up PostgreSQL database to be used with xCAT running with PCM.


=item B<-o|--odbc>

This option sets up the ODBC  /etc/../odbcinst.ini, /etc/../odbc.ini and the .odbc.ini file in roots home directory will be created and initialized to run off the xcatdb PostgreSQL database.

=back

=head1 ENVIRONMENT VARIABLES

=over 4

=item B<XCATPGPW>

The password to be used to setup the xCAT admin id for the database.

=back

=head1 EXAMPLES

=over 2

=item *

To setup PostgreSQL for xCAT to run on the PostgreSQL xcatdb database :

B<pgsqlsetup> I<-i>

=item * 

To setup the ODBC for PostgreSQL xcatdb database access :

B<pgsqlsetup> I<-o>

=back
