zoukankan      html  css  js  c++  java
  • PostgreSQL数据库常用脚本-初始化、备份、恢复推荐脚本

    公司最近开始逐步推广使用PostgreSQL,为方便开发人员和实施人员操作,特整理数据库初始化、备份、恢复的推荐脚本如下:

    1. 连接数据库

    psql -h 127.0.0.1 -p 1921 -U postgres -d postgres -W
    

    2. 数据库初始化脚本

    Create Role <login_role> Login Password '<password>' SUPERUSER Valid Until 'infinity';
    Create tablespace <tablespace_name> location  '<tablespace_directory>';
    GRANT all on tablespace <tablespace_name> to <login_role>;
    Create Database <db_name> With owner = <login_role> tablespace=<tablespace_name>;
    Alter Database <db_name> Set search_path="$user", public;
    /*以下两句在上面创建用户登录,在对应的数据库下执行。*/
    Create Schema <schema_name>;
    GRANT all ON Schema <schema_name> to <login_role>;
    

    使用说明:将<>内容替换为对应的名称,执行后数据库基本创建完成。

    注意:如果是Windows操作系统下使用administrators权限组用户登录,创建表空间时,对应目录需要赋予EveryOne操作权限。

    3. 数据库备份脚本

    备份方案

    pg_dump -h <db_ip> -p <db_port> -U <user_name> -j 3 -F d -C -c -d <db_name> -v -f <backup_directory>
    

    注意:上面的<backup_directory>为本地目录。
    这种备份方式,会将相应的变量设置、Schema配置等都备份好,所以在恢复的时候就无需再进行相关的配置了,恢复详见下一节描述。

    4. 数据库恢复脚本

    恢复步骤:

    1. 创建登录用户;
    2. 创建表空间;
    3. 创建数据库;
    4. 通过pg_restore 命令恢复(依然是以1.3种描述的推荐使用的备份方案为基础的)。
      具体命令如下:
    Create Role <login_role> Login Password '<password>' SUPERUSER Valid Until 'infinity';
    Create tablespace <tablespace_name> location  '<tablespace_directory>';
    GRANT all on tablespace <tablespace_name> to <login_role>;
    Create Database <db_name> With owner = <login_role> tablespace=<tablespace_name>;
    pg_restore -h <db_ip> -p <db_port> -U <user_name> -d <db_name> -j 3 -v <backup_directory>
    

    OK,到此为止数据库恢复成功。

  • 相关阅读:
    理解margin
    dedecms 时间标签strftime和MyDate
    dede调用img图片
    dedecms中调用制定栏目
    在list_*页面显示出一级栏目下的所有二级栏目
    调用二级、三级栏目
    dedecms二级导航标签调用使用的方法
    学习PHP第一天-----简单登录
    Python程序设计9——数据库编程
    Python程序设计8——网络编程
  • 原文地址:https://www.cnblogs.com/gavin-cn/p/6970360.html
Copyright © 2011-2022 走看看