postgres使用dblink

來源:互聯網
上載者:User

在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使用權限設定更為嚴格..

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.