真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

移植postgresql的簡單介紹

將MySQL數(shù)據(jù)庫移植為PostgreSQL

在北美,人們對于

成都創(chuàng)新互聯(lián)專注于中大型企業(yè)的成都網(wǎng)站設計、成都網(wǎng)站建設和網(wǎng)站改版、網(wǎng)站營銷服務,追求商業(yè)策劃與數(shù)據(jù)分析、創(chuàng)意藝術與技術開發(fā)的融合,累計客戶上千家,服務滿意度達97%。幫助廣大客戶順利對接上互聯(lián)網(wǎng)浪潮,準確優(yōu)選出符合自己需要的互聯(lián)網(wǎng)運用,我們將一直專注成都品牌網(wǎng)站建設和互聯(lián)網(wǎng)程序開發(fā),在前進的路上,與客戶一起成長!

PostgreSQL

的熱情不斷升溫。隨著

PostgreSQL

的發(fā)展,

PostgreSQL

8.x

已經(jīng)從技術上超越

MySQL

5.x

,而市場的超越相信只是時間問題。而最終,用戶也許有機會享受到可媲美

Oracle

的開源數(shù)據(jù)庫也未嘗沒有可能。

我供職的互聯(lián)網(wǎng)公司,服務約

50

萬商務用戶,經(jīng)過多次的升級移植,目前公司已經(jīng)全部將后臺數(shù)據(jù)庫從

MySQL

移植到

PostgreSQL

,而個人完成了其中一半的數(shù)據(jù)庫移植工作,所以對數(shù)據(jù)庫從

MySQL

移植到

PostgreSQL

積累了一些經(jīng)驗。在此整理成文,希望能對大家使用

PostgreSQL

有一些啟發(fā)。

1)

準備:

使用

MySQL

數(shù)據(jù)備份工具對數(shù)據(jù)庫進行全備份:

mysqldump

-h

[hostname]

-u

[username]

-p

[password]

--extended-insert=false

[dbname]

mysql-db.sql

注意

disable

extended-insert

,

PostgreSQL

不支持

MySQL

extended-insert

2)

轉化:

mysql-db.sql

轉為

PostgreSQL

可以導入的

SQL

Script.

MySQL

PostgreSQL

SQL

語義上存在一定差異,比如

MySQL

不支持

sequence

,觸發(fā)器等功能,但為此又提供了一些自有的語法規(guī)則,而對比一些系統(tǒng)函數(shù),

MySQL

PostgreSQL

又存在比較大的差別。為此,我編寫了一段語義分析和轉化的程序

mysql2psql

mysql2psql

mysql-db.sql

postgres-db.sql

3)

導入:

使用

PostgreSQL

提供的

pgAdmin

將數(shù)據(jù)文件導入數(shù)據(jù)庫。

4)

SQL

語句的修改:

在實際的應用中,前端的系統(tǒng)往往會嵌入一些具有數(shù)據(jù)庫特性的

SQL

語句,而隨著后臺數(shù)據(jù)庫的改變,前端的系統(tǒng)程序也同樣需要做出相應的修改。

MySQL

PostgreSQL

最常見的不同之處包括:Group

by,Join的使用差異,系統(tǒng)函數(shù)的命名和調用的差異等等。

如何從SQLServer 遷移數(shù)據(jù) 到PostgreSQL

一. 如果B數(shù)據(jù)庫是新建的,為了移植數(shù)據(jù)庫,那就直接附加,分下列步驟:

1. 打開配置管理器

2. 停止SQL Server服務

3. 在C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data目錄下找到數(shù)據(jù)庫文件,復制到B電腦上,B電腦打開數(shù)據(jù)庫附加A數(shù)據(jù)庫就好了。

二. 如果B數(shù)據(jù)庫已經(jīng)曾在,可以使用導出任務

打開數(shù)據(jù)庫,右鍵點在數(shù)據(jù)庫上,找到導出任務

按照向導選擇該到處的數(shù)據(jù)表和視圖。填寫兩個數(shù)據(jù)庫的驗證信息

請問ora2pg如何使用,如何將oracle數(shù)據(jù)庫中的函數(shù),表,存儲過程,數(shù)據(jù),觸發(fā)器等移植到postgresql里呢

高版本PG可以用oracle_fdw來做,類似DBLINK,很方便。也可以用oracle的spool導出,然后用Postgres的COPY導入,速度也較快。

如何在Windows平臺上的安裝PostgreSQL

PostgreSQL的現(xiàn)有版本在不增加可供購買的商業(yè)應用包時,并不降低其使用價值,反而由于它的plpgsql包和C及ODBC接口的存在,使數(shù)據(jù)庫系統(tǒng)在二次開發(fā)的過程中,可最大程度地保護已經(jīng)投入的程序資產(chǎn)。 宿主平臺在Linux和類UNIX平臺上,PostgreSQL8.2.4 比較適合 RedHat 的 AdvanceServer4和 Kylin2.1,這兩個平臺對于這一版本的PostgreSQL有最為接近的升級兼容性,兩者的表示層都是BSD血統(tǒng),使用的C庫都在一個版本層中,系統(tǒng)的主要部分都很成熟,移植的問題基本上不存在。 對于Windows平臺,目前典型的是2K和2K3,以及XP。在2K平臺上兼容性極好,運行穩(wěn)定,并且在數(shù)據(jù)庫內部的操作與其它平臺上的版本完全一致,這給數(shù)據(jù)庫應用在不同平臺之間的移植打下了良好的基礎。 Windows平臺安裝實踐所選擇的平臺是Windows2K。安裝過程和一般應用程序的安裝差不多,根據(jù)自己的需要指定安裝選項,沒有過多的要求。安裝完畢并啟動后,做以下幾件事: (1)寫一個文本文件,并命名為“pgpass.conf”,內容為: localhost:5432:postgres:postgres:qazwsxedc 其中“l(fā)ocalhost”表示使用了UNIX域的Socket方式,這是為安全而考慮的。 第二個字段是端口,第三個字段是數(shù)據(jù)庫名,第四個字段是帳戶名,第五個 字段是口令??梢杂卸嘈校啃写硪粋€數(shù)據(jù)庫帳戶。 (2)上述文件放到以下路徑: C:\Documents and Settings\postgresql\Application Data\postgresql 如果是不同的帳戶,例如我使用的帳戶是“campus”,那么路徑為: C:\Documents and Settings\campus\Application Data\postgresql (3)打開ODBC數(shù)據(jù)源 -- 控制面板 -- 管理工具 -- ODBC數(shù)據(jù)源,在選項卡“用戶DSN”中選擇“添加”并打開,在列表中選擇“PostgreSQL Unicode”并按“完成”。如果需要,也可以在選項卡“系統(tǒng)DSN”中按同一步驟添加。 (4)在列表中選擇“PosgreSQL30W”,打開“配置”窗口,依次填入必要的信 息。在我的例子中,Database是“center”,Server是“Localhost”, Port是5432,UserName和Password根據(jù)自己的情況填寫。 (5)按“Test”按鈕,對話窗出現(xiàn),顯示“Connect successful”,然后按“Save”保存并退出。 (6)在VB、VC或是ASP中,按通常的方法選擇數(shù)據(jù)源,這就完成了PostgreSQL在Windows系統(tǒng)上的全部安裝過程。 我的應用數(shù)據(jù)庫安裝方法采用以文本文件的形式加上批處理過程來進行。關于建庫的一段語句如下: select 'Create table space ...' ; CREATE TABLESPACE campus_center -- 創(chuàng)建表空間 OWNER campus LOCATION 'E:/cps/campus_center' ; select 'Create database Center ... ...' ; create database center -- 創(chuàng)建數(shù)據(jù)庫 with template = template0 owner = campus tablespace = campus_center encoding = 'euc_cn' ; select 'Create Procedural Language PL/pgSQL ...' ; CREATE TRUSTED PROCEDURAL LANGUAGE 'plpgsql' -- 注冊使用的解釋器 HANDLER plpgsql_call_handler VALIDATOR plpgsql_validator其中,在建庫時一定要指定參數(shù)“encoding = 'euc_cn'”,否則在Windows平臺上會出現(xiàn)亂碼。 批處理文件的內容大致如下: @echo off mem initdb.bat mkdir E:\cps\campus_center "D:\Program Files\PostgreSQL\8.2\bin\psql.exe" -h localhost -p 5432 postgres "postgres" -f .\00_wincenter_make.sql .\initwin.log 2 .\initwin2.log ... ...命令“mkdir”建立一個操作系統(tǒng)目錄,作為將要建立的應用所使用的表空間。注意第二條命令“psql.exe”使用了全路徑,后面的語句都是在一行上,不可中斷。命令使用文件“00_wincenter_make.sql”來創(chuàng)建數(shù)據(jù)庫,產(chǎn)生的標準輸出和標準錯誤分別向文件“initwin.log”和“initwin2.log”中寫入,可用于建庫過程中的診斷。后續(xù)語句可仿此辦理,但輸出換向符應由“”改為“”,以追加信息到診斷日志尾部。 通常在診斷日志文件“initwin2.log”中找不到字符串“ERROR”時,可以認為應用數(shù)據(jù)庫已經(jīng)成功安裝并運行了。 注意事項:如果在VB下使用PostgreSQL8.2.4,那么VB的版本要低于VS2005,否則接口不兼容。這也是所謂“.net”戰(zhàn)略的排他性。


本文標題:移植postgresql的簡單介紹
本文URL:http://weahome.cn/article/dscjcih.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部