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權限設置更為嚴格..
總結
以上是生活随笔為你收集整理的postgres使用dblink的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQLServer 2005 XML 在
- 下一篇: joomla插件开发入门(六)