zoukankan      html  css  js  c++  java
  • Postgre数据库的几条常用命令

    可执行的程序都在Postgre安装文件下的bin中。

    1、导出特定数据库的insert脚本

      1.1命令: 

        pg_dump --column-insert -t operatebatchdetaillog -h 192.168.1.102 -U enterprisedb -a -f D:\db_scripts\bak.sql edb

      1.2说明

        1.2.1:pg_dump.exe是一个用来导入导出的可执行文件,关于它的用法可以使用pg_dump --help来查看。

        1.2.2:--column-insert的意思是生成insert脚本且脚本中包含表的列名,如果只写-insert不写--column,生成的insert脚本中不包含表的列名。

        1.2.3:-t后跟的是表名,如果你想把目标数据库中的所有表的insert文都导出来,那么不需要指定-t。 

        1.2.4:-h 后面跟目标数据库的ip,-U 后跟数据库的用户名,-f 后跟输出目标的文件路径,最后的那个"edb" 是目标数据库的名称 。

    2、导出特定数据库的数据

      2.1命令:

        pg_dump -h 192.168.1.102 -U enterprisedb basedb >  D:\db_scripts\basedb.data

      2.2说明

        2.2.1:basedb是目标数据库的名字,">"号的方向说明了数据导出的方向,上面的例子就是将数据库basedb中的数据导成一个可被用来还原的备份文件,这个文件的后缀名可以随便写,它并不是一个二进制文件,使用UE打开以后你会发现它就是堆文本。

    3、导入特定数据库的数据

      3.1命令:

        psql  -h 127.0.0.1 -U enterprisedb basedb < basedb.data

      3.2说明:

        3.2.1:psql.exe类似于OracleDB中的sqlplus,是Postgre的命令行执行终端。它除了可以执行你手动敲进去的命令,当然也能够执行命令文本。但本例中比较高级的是basedb.data看起来貌似是一个二进制文件之类的大对象,上例中说了,这个文件其实就是个文本,所以它能够被psql执行也就合情合理了。

        3.2.2:"<"依旧形象地指明了导入的方向,无须赘述。

        3.2.3:很重要的一点是,在执行导入数据时你必须保证导入到的目标数据库的用户、数据库和权限等设置已经准备好。但貌似Postgre在导出数据库时并没有顺便帮你导出这些,需要自己手动敲命令或者在PostgrePlus里建。本例中笔者就厚道的提供几个简单的例子吧:

        create user michael with password 'jordan' CREATEDB; //创建用户

        drop database if exist basedb; 

        create database basedb with owner michael encoding 'utf-8'; // 创建数据库,指定编码方式

         

  • 相关阅读:
    第二次作业
    构造之法现代软件工程
    软件工程的作业五个问题!
    第四次作业
    第五次作业
    软件工程第二次作业
    第五次作业·
    第五次作业
    软件工程第二次作业
    软件工程第一次作业
  • 原文地址:https://www.cnblogs.com/mabaishui/p/2794191.html
Copyright © 2011-2022 走看看