zoukankan      html  css  js  c++  java
  • postgres使用dblink

    在oracle中,经常会使用dblink将一些线上的数据导入到开发库中定位问题。

    postgresql中也可以使用dblink。

    下面是网上的资料:

            1、如何在postgresql中建立dblink?
            2、建立成功后,如何使用dblink?
            3、postgresql中的dblink和oracle中的dblink有什么区别?

    下面是解决的方案:

    问题1:

    # useradd postgre (自动建立 postgre 组)

    解压到 /usr/local/src:
    # tar xvfz postgresql-7.1.3.tar.gz
    # cd postgresql-7.1.3
    # ./configure --prefix=/usr/local/pgsql
    # make
    # make install
    # chown -R postgre.postgre /usr/local/pgsql

    # vi ~postgre/.bash_profile

    添加:

    PGLIB=/usr/local/pgsql/lib
    PGDATA=$HOME/data
    PATH=$PATH:/usr/local/pgsql/bin
    MANPATH=$MANPATH:/usr/local/pgsql/man
    export PGLIB PGDATA PATH MANPATH

    以 postgres 用户登录,
    # su - postgre
    建立数据库目录:
    $ mkdir data

    启动数据库引擎:
    [postgre@www postgre]$ initdb
    [postgre@www postgre]$ postmaster -i -D ~/data &
    这样 PostgreSQL 使用位于 /usr/local/pgsql/data 的数据库,允许 Internet 用户的连接( -i ) ,并在后台运行。
    安装到这步时,数据库在运行

    建立数据库和表
    $createdb mydb

    然后进入/contrib/dblink
    make /make install
    //成功之后 ,启动pg_ctl restart
    执行
    psql -f dblink.sql -d 数据库 -U 用户名



     
    问题2:
    pgsql=# select dblink_connect('host=localhost user=pgsql password=');
    dblink_connect 
    ----------------
    OK
    (1 row)
    这个函数用来建立到远程数据库的连接。

    我们可以像这样想远程的数据库中insert一条记录:
    pgsql=# select dblink_exec('insert into student values(\'linux_prog\',\'12345\')');  
      dblink_exec  
    -------------------
    INSERT 22516276 1
    (1 row)

    现在我们检索我们刚才insert的记录:
    pgsql=# select * from dblink('select * from student') as student(name varchar(100),pass varchar(100)); 
      name | pass  
    ------------+-------
    linux_prog | 12345
    (1 row)

    怎么样?刚才insert的记录已经在里面了。


    问题3
    我用后的感觉就是
    postgresql比orcale权限设置更为严格..

  • 相关阅读:
    20.GC日志详解及日志分析工具
    19.JVM调优工具锦囊
    两个页面的传参(转自博客园的春哥也编程)
    纯js实现背景图片切换
    关于引用类型用ref传参的问题
    C++ return
    C++内存管理
    Chrome插件开发一(配置文件)
    C++对象传递
    const 与 #define 的比较
  • 原文地址:https://www.cnblogs.com/highriver/p/2216605.html
Copyright © 2011-2022 走看看