命令行执行:psql -d 库名 -f 文件名;
成都创新互联公司成立于2013年,是专业互联网技术服务公司,拥有项目成都网站设计、做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元玛纳斯做网站,已为上家服务,为玛纳斯各地企业和个人服务,联系电话:13518219792
直接sql脚本加:psql 库名 (-U 用户名)!
直接运行脚本sh 或直接赋予执行权限
trampwind(随风) 于 2005-3-10 11:42:27
psql交互界面直接用: i 文件名;
执行SQL脚本
先要执行命令放 .sql 格式文件 比 gcz_test.sql
执行 ./gcz_test.sql
要执行SQL语句,要加-c,双引号中的是SQL语句 OR 命令
db_storelib:数据库名
将db_storelib中表tbl_repos内容以UTF的字符集导出到d:\6789.txt中!
主要就是把除了template0和template1外的数据库全部dump到指定目录并打包
使用前把BACKUPDIR修改至你自己的备份目录
一般来说你不用修改DUMPCMD,除非你的PostgreSQL安装时的prefix指定到了其他地方,又或者你想加上其他的pg_dump参数
可以放在crontab里每天定时执行
可以考虑root来执行,因为一般root可以不通过密码验证直接使用数据库pgsql用户dump数据,一切都取决于你的pg_hba.conf和postgresql.conf设置,碰到问题自行判断
想在Windows上运行需要自行稍微修改
#! /bin/sh
DATE=`date +%Y%m%d%H`
BACKUPDIR=/path/to/backup
DUMPCMD='/usr/local/bin/pg_dump -U pgsql -O -x'
if [ ! -d $BACKUPDIR ]; then
mkdir $BACKUPDIR
fi
for DB in `/usr/local/bin/psql -U pgsql -d template1 -c '\l' -q -t | /usr/bin/awk '{print $1}'`
do
FILENAME=${DATE}_${DB}
if [ $DB != 'template0' ] [ $DB != 'template1' ]; then
echo "Backup $DB ..."
$DUMPCMD -f $BACKUPDIR/$FILENAME.sql $DB
/usr/bin/tar -C $BACKUPDIR -c -j -f $BACKUPDIR/$FILENAME.tar.bz2 $FILENAME.sql \
rm -f $BACKUPDIR/$FILENAME.sql
fi
done
sync
通过命令pg_dump可以导出数据库的数据,用copy命令可以将一张表的数据导出为csv格式数据,