===== PostgreSQL =====
====== PostgreSQL database initialization ======
Create a user for example : postgres
Connect to your system a this user (su - postgres)
root# mkdir /usr/local/pgsql/data
root# chown postgres /usr/local/pgsql/data
root# su postgres
postgres$ initdb -D /usr/local/pgsql/data
Alternatively, you can run initdb via the pg_ctl program like so:
$ pg_ctl -D /usr/local/pgsql/data initdb
**Tip:** As an alternative to the -D option, you can set the environment variable PGDATA.
===== List DB and tables =====
[root@srv1] /var/lib/pgsql/9.2/data # su postgres
[postgres@srv1]() ~/9.2/data # psql
psql (9.2.14)
Type "help" for help.
postgres=# \list
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
ibmsc | ibmsc | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
(4 rows)
postgres=# select datname from pg_database;
datname
-----------
template1
template0
postgres
ibmsc
(4 rows)
postgres=# SHOW TABLES
postgres-# \connect ibmsc
You are now connected to database "ibmsc" as user "postgres".
ibmsc-# SHOW TABLES
ibmsc-# \dt
List of relations
Schema | Name | Type | Owner
--------+-------------------------------------------------------+-------+-------
public | abstraction_applications | table | ibmsc
public | abstraction_applications_service | table | ibmsc
public | abstraction_capability | table | ibmsc
public | abstraction_capabilityconstraint | table | ibmsc
public | abstraction_capabilityconstraint_capability_values | table | ibmsc
public | abstraction_capabilityvalue | table | ibmsc
...
===== Backup script =====
root@jir01 ~]# cat /var/atlassian/backups/postgresql_dumpall.sh
#!/bin/sh
#
DB_LIST="postgres jiradb stashdb confluencedb"
DB_USER="postgres"
DB_BACKDIR="/sqlbackup"
RC=0
for DB_NAME in $DB_LIST
do
DB_BACKFILE="$DB_BACKDIR/$DB_NAME.dump"
#
# Delete all backup
#
[ -r "$DB_BACKFILE" ] && rm $DB_BACKFILE
[ -r "$DB_BACKFILE.gz" ] && rm $DB_BACKFILE.gz
#
# Take new backup
#
su $DB_USER -c "pg_dump $DB_NAME | gzip > $DB_BACKFILE.gz"
RC=`expr $RC + $?`
done
exit $RC