忧郁者 发表于 2016-11-19 10:23:19

postgresql 一些常用命令

postgresql 一些常用命令
 
 

pg_dump dbname | gzip > filename.gz
用下面命令恢复:
createdb dbname
gunzip -c filename.gz | psql dbname

save_data.sh
#!/bin/bash
export PGPASSWORD='xxx'
psql='/usr/pgsql-9.3/bin/psql'
DB_HOST='172.168.1.252'
DB_USER='xxx'
DB_NAME='xxx'
c_date=`date '+%Y%m%d'`
l_date=`date -d '-260 days' '+%Y%m%d'`
table_name=xxx_log_${c_date}
index_name=${table_name}_add_time_idx
l_table_name=xxx_log_${l_date}
l_file_gzip_url=/opt/backup/postgresql/$l_table_name.gz
echo $table_name
$psql -U $DB_USER -h $DB_HOST -p 5432 -d $DB_NAME <<EOF
CREATE TABLE $table_name () INHERITS (xxx_log);
CREATE INDEX $index_name ON $table_name USING btree (update_time);
EOF
echo $l_table_name
echo $l_file_gzip_url
/usr/pgsql-9.3/bin/pg_dump -U $DB_USER -h $DB_HOST -p 5432 -t $l_table_name $DB_NAME | gzip > $l_file_gzip_url
echo $l_file_gzip_url
if [ ! -d $l_file_gzip_url ]; then
fsize=`ls -l $l_file_gzip_url | awk '{print $5}'`
echo $fsize
if [ $fsize -gt 568 ]; then
$psql -U $DB_USER -h $DB_HOST -p 5432 -d $DB_NAME <<-EOF
DROP TABLE $l_table_name;
EOF
fi
fi

up_save_data.sh
#!/bin/bash
export PGPASSWORD='xxx'
psql='/usr/pgsql-9.3/bin/psql'
DB_HOST='172.168.1.252'
DB_USER='xxx'
DB_NAME='xxx'
gunzip -c /opt/backup/postgresql/xxx_log_20141029.gz | $psql -U $DB_USER -h $DB_HOST -p 5432 -d $DB_NAME
 
页: [1]
查看完整版本: postgresql 一些常用命令