• PostgreSQL dblink的使用


    dblink,能够在一个数据库中操作另外一个远程的数据库。

    准备工作:
    1. 使用dblink,在安装PostgreSQL的时候,必须把的位于PostgreSQL下的contribdblink源码编译安装,
       #cd contrib/dblink
       #make
       #make install
       之后可以看到在$PGHOME下的lib下就有个dblink.so文件

    2. 使用psql dbname之后:
       使用create extention dblink; 扩展dblink功能(其实这个操作是创建dblink的相关航函数)
      

    示例:取得postgres表的tb1的数据

    1.  
      select * from
    2.  
      dblink('dbname=postgres host=localhost port=5432 user=postgres passwd=123456'::text,'select * from tb1'::text)t
    3.  
      (id integer,name character varying));


    如果认为每次查询都要写dblink的一堆信息很麻烦的话,可以在当期库中建一个view来解决。

    1.  
      CREATE VIEW view_remote_tb1 AS
    2.  
      select * from
    3.  
      dblink('dbname=postgres host=localhost port=5432 user=postgres passwd=123456'::text,'select * from tb1'::text)t
    4.  
      (id integer,name character varying));

    然后就可以从这个view中查询数据了。

    SELECT * FROM remote_people_user_name;  


    如果不只是查询数据,而是需要修改postgres的数据的情况下怎么弄呢?
    1. 先执行dblink_connect保持连接
    SELECT dblink_connect('mycoon','hostaddr=127.0.0.1 port=5432 dbname=postgres user=postgres password=123456');  
    2. 执行BEGIN命令
    SELECT dblink_exec('mycoon', 'BEGIN');
    3. 执行数据操作(update,insert,create等命令)
    SELECT dblink_exec('mycoon', 'insert into tb1 select generate_series(10,20),''hello''');
    4. 执行事务提交
    SELECT dblink_exec('mycoon', 'COMMIT');
    5. 解除连接

    SELECT dblink_disconnect('mycoon');

    原文来自

  • 相关阅读:
    【移动安全基础篇】——30、class.dex文件格式讲解
    【移动安全基础篇】——29、Android源码定制添加反反调试机制
    【移动安全基础篇】——28、Apk加固
    【移动安全基础篇】——27、常用调试检测方法与过检测方法
    【移动安全基础篇】——26、两个简单app破解
    粒子特效优化
    android studio生成aar包
    AndroidManifest
    声音
    unity webview
  • 原文地址:https://www.cnblogs.com/shanghongyun/p/14201496.html
Copyright © 2020-2023  润新知