麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > MySQL > 正文

將你的網站從MySQL改為PostgreSQL

2024-07-25 19:09:45
字體:
來源:轉載
供稿:網友

我的站點最初是采用PHP驅動,由MySQL數據庫支持的方案,這在當時是一個明智的方案。在2001年夏天,我將我的數據庫換成了PostgreSQL(有時也簡稱為Postgres)。

這個教程分為兩部分,第一部分講述了我進行這種轉換的動機,并一步步地解釋了如何將已存在有MySQL的數據轉換到Postgres中。第二部分將會解釋如何根據新的數據庫系統對PHP進行相應的調整。

轉換的動機

我第一次了解Postgres是在PHPBuilder網站的一篇文章中。這篇文章將Postgres和MySQL進行了比較,當時我正在使用 MySQL。但是,當我閱讀了這篇文章后,我對Postgres著了迷 -- 但是當時我還沒有想到對我的網站進行重新的設計。

我繼續使用MySQL,因為我的主機提供商只能提供MySQL的支持,這是我所無法改變的。直到有一天,主機提供商的主機崩潰了。我立即換了一個主機提供商,與原來的那個相比,新的主機提供商有很多不同,他們在安全性和穩定性方面對我作出了更多的承諾。新公司試圖說服我使用Postgres,因為 Postgres要比MySQL來得更穩定,但是我當時沒有接受這個建議,因為我的網站已經根據MySQL完成了全部的編碼工作。他們只好專門為我的站點安裝了MySQL。于是問題開始了。

我的第一個工作是將舊服務器上的MySQL的數據拷貝到新的主機上。首先,我將已有的數據dump到一個SQL文件中,然后在新的主機上導入這個SQL文件。在處理這個數千行的文件時,MySQL迅速地崩潰了。重啟MySQL后,其中大概只有一半數據成功地導入了,而且MySQL只能間歇性地工作。最后,他們不得不刪除了已經導入的信息讓我再試一次。MySQL再次崩潰。這種情況重復了好幾次,直到最終我決定將我的SQL文件分割成幾塊。我不得不又試了幾次,最后終于將絕大多數的數據都成功地導入到新的MySQL服務器中。一切都好了,我總算松了一口氣。

在下面的幾個月中,MySQL幾乎每兩周都要崩潰一次,其中最慘痛的一次是在2001年6月底。這一次,存儲在MySQL中的數據完全被毀壞了。我有一個 SQL的備份文件,但是因為上次向MySQL中導入大量數據的痛苦的經歷,這一次我再也不想通過這個備份恢復數據了。這時,公司再次建議我對我的網站進行轉向,使用Postgres。由于MySQL的失敗,最終我接受了這個建議。

將數據從MySQL轉移到Postgres中

將數據從MySQL轉移到Postgres是一個不大的挑戰,因為Postgres比MySQL支持了更多的SQL的標準格式,在POstgres中直接使用SQL的dump結果是不可能的。但是,SQL語法相當相似,因此對于我來說,這并沒有花費太多的時間。

對MySQL的Dump結果進行轉換

首先,要求你的主機提供商為你的帳號建立一個數據庫。和MySQL數據庫一樣,Postgres的數據庫也由一系列包含實際數據的數據表組成。然后,使用mysqldump命令為你的MySQL數據庫做一個dump文件。

  mysqldump -u username -p databasename > sqldump.txt

使用FTP將整個dump文件下載下來。現在在你的計算機上有了這個SQL文件,你可以將其轉換成Postgres可以導入的文件。

首先,從dump文件中剪切所有的MySQL的CREATE TABLE查詢,并將其粘貼到一個單獨的文本文件中。下一步是使用Postgres可以理解的語言重新對數據表進行定義。

Postgres建立表的SQL和MySQL非常類似,但不完全一樣。下面是一個例子:

  CREATE TABLE practicetable  {  someID SERIAL,  time TIMESTAMP DEFAULT now(),  name VARCHAR(50),  address VARCHAR(50),  city VARCHAR(50),  state VARCHAR(2),  country VARCHAR(3) DEFAULT 'USA',  postlcode VARCHAR(15),  age smallint,  lattitude real,  longitude real,  somebool boolean,  message textitem  };

在一個Postgres的表定義中,字段名后面必須跟著字段類型。在上面的例子中我們給出了一些最普通的字段類型,你還可以在有關Postgres數據類型的文檔中找到全部的字段類型的列表。對于不同的任務,Postgres在字段類型方面有多種選擇,并可以存儲各種類型的數據,從Internet地址到貨幣信息到幾何對象的定義。這兒簡要地介紹最常用的幾種數據類型。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 叶子楣成人爽a毛片免费啪啪 | 欧美成人一区二区视频 | 国产精品资源手机在线播放 | 久久精品视频1 | av之家在线观看 | 色爱99| 久夜草 | 亚洲人成网站免费播放 | 久草视频手机在线观看 | 午夜爱爱福利 | 在线影院av| 亚洲射情 | 日本特级a一片免费观看 | 中国a级黄色片 | 康妮卡特欧美精品一区 | 一夜新娘第三季免费观看 | 成人福利视频导航 | 久久福利小视频 | 亚洲福利在线视频 | 舌头伸进添的我好爽高潮网站 | 97久久精品一区二区三区观看 | 色婷婷a v | 56av国产精品久久久久久久 | 中国产一级毛片 | 亚洲骚图 | 91精品国产777在线观看 | 黄在线免费 | 男女羞羞视频在线免费观看 | 国产精品亚洲欧美 | av电影在线网站 | 韩国美女一区 | 国产一区二区三区精品在线观看 | 欧美男女爱爱视频 | 九色 在线 | 蜜桃精品视频在线观看 | 999精品国产| 黄污网站在线观看 | 亚洲国产精品高潮呻吟久久 | 久久久久久久国产视频 | 九九热这里只有精品8 | 成人福利在线播放 |