目前分類:PostgreSQL (21)

瀏覽方式: 標題列表 簡短摘要
先介紹一下Postgresql的建索引語法:

Version:9.1

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

PostgreSQL資料庫中pg_hba.conf檔的使用是本文我們主要要介紹的內容,因為最近試用PostgreSQL 9.04,將pg_hba.conf配置的一些心得分享。pg_hba.conf是用戶端認證設定檔,定義如何認證用戶端。

常用的pg_hba.conf配置:

shadow 發表在 痞客邦 PIXNET 留言(1) 人氣()

PostgreSQL安裝及Streaming Replication配置是本文我們主要要介紹的內容,因為專案需要搭建postgres環境,並要求具有一定的可靠性。所以筆者在搭建這個環境的同時把步驟及命令記錄下來的。筆者是DB2 DBA.但現在專案準備從DB2遷移到postgresql. postgresql筆者也是剛剛接觸.筆者以後會把學到的關於postgresql的知識,以及DB2遷移postgresql過程中遇到的問題及經驗總結出來,陸續整理成文檔.,然後和有同樣需求的朋友進行交流,希望能夠對您有所説明。

------------------------------------------------------- >>>>>>>>>INSTALL<<<<<<<<<<<<< --primary 10.4.5.94 --standby 10.4.5.93 --standby 10.4.5.91 psql (PostgreSQL) 9.0.4 ------------------------------------------------------- cd /root/postgresql-9.0.4 ./configure --with-wal-segsize=32 --with-wal-blocksize=16 gmake gmake install adduser postgres mkdir -p /usr/local/pgsql/data mkdir -p /usr/local/pgsql/etc chown postgres /usr/local/pgsql/data chown postgres /usr/local/pgsql/etc chown postgres /pg_data_logs cd /pg_data_logs/ mkdir pg_xlog chown postgres pg_xlog/ su - postgres /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data --xlogdir=/pg_data_logs/pg_xlog mv /usr/local/pgsql/data/*.conf /usr/local/pgsql/etc exit (su - root) cp /root/postgresql-9.0.4/contrib/start-scripts/linux /etc/init.d/postgresd vi /etc/init.d/postgresd 修改如下部分,用-c config_file指定postgresql.conf的位置: =============================================================== start) echo -n "Starting PostgreSQL: " test x"$OOM_ADJ" != x && echo "$OOM_ADJ" > /proc/self/oom_adj su - $PGUSER -c "$DAEMON -D '$PGDATA' -c config_file=/usr/local/pgsql/etc/postgresql.conf &" >>$PGLOG 2>&1 echo "ok" ;; restart) echo -n "Restarting PostgreSQL: " su - $PGUSER -c "$PGCTL stop -D '$PGDATA' -s -m fast -w" test x"$OOM_ADJ" != x && echo "$OOM_ADJ" > /proc/self/oom_adj su - $PGUSER -c "$DAEMON -D '$PGDATA' -c config_file=/usr/local/pgsql/etc/postgresql.conf &" >>$PGLOG 2>&1 echo "ok" ;; =============================================================== vi /usr/local/pgsql/etc/postgresql.conf 修改如下部分: =============================================================== #------------------------------------------------------------------------------ # FILE LOCATIONS #------------------------------------------------------------------------------ # The default values of these variables are driven from the -D command-line # option or PGDATA environment variable, represented here as ConfigDir. #data_directory = 'ConfigDir' # use data in another directory # (change requires restart) hba_file = '/usr/local/pgsql/etc/pg_hba.conf' # host-based authentication file # (change requires restart) ident_file = '/usr/local/pgsql/etc/pg_ident.conf' # ident configuration file # (change requires restart) # If external_pid_file is not explicitly set, no extra PID file is written. #external_pid_file = '(none)' # write an extra PID file # (change requires restart) =============================================================== /etc/init.d/postgresd start ------------------------------------------------------- >>>>>>>>>Streaming Replication<<<<<<<<<<<<< ------------------------------------------------------- --IN ALL SERVER: 修改存取控制 vi /usr/local/pgsql/etc/pg_hba.conf 最後加一行 host all all 10.4.5.0/24 password host all all 10.4.2.0/24 password 修改監聽範圍 vi /usr/local/pgsql/etc/postgresql.conf 修改listen_addresses = ‘localhost’為listen_addresses = ‘*’,如果前面有#號則需要刪除#號 重啟 /etc/init.d/postgresd restart --IN PRIMARY SERVER: 設置同步帳號 psql create user repl superuser login password 'meiyoumima'; 修改存取控制 vi /usr/local/pgsql/etc/pg_hba.conf 最後添加以下內容 host replication repl 10.4.5.93/32 password host replication repl 10.4.5.91/32 password

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

之前我們介紹了:PostgreSQL資料庫中pg_hba.conf檔的使用詳解,裡面講到ident認證方式,需要建立映射使用者或具備同名使用者。同名使用者好辦,各新建一個同名的作業系統使用者和資料庫使用者,兩個使用者密碼不必相同,但名字必須相同。用該使用者登錄到作業系統或su到該使用者後,即可$ psql dbname。

如果不想新建同名使用者,也可以配置pg_ident.conf檔。pg_ident.conf用來配置哪些作業系統使用者可以映射為資料庫使用者。本文以PostgreSQL 9為例。

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

編譯postgresql與pgagent的相關操作是本文我們主要要介紹的內容,接下來就讓我們一起來瞭解一下這部分內容吧。

安裝postgresql

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

PostgreSQL表空間、模式、表、使用者/角色之間的關係是本文我們主要要介紹的內容,表空間,資料庫,模式,表,使用者,角色之間的關係到底是怎樣的呢?接下來我們就開始介紹這一過程。

實驗出角色與使用者的關係

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

PostgreSQL 9.1 第一個候選版發佈了。該候選版修復了在9.1 Beta版中已知的錯誤。

此外RC1 中還涉及如下bug:

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

Windows Server 2008 與普通 windows 版本最大的不同,在於其檔/目錄控制許可權更嚴。而 PostgreSQL 資料庫也是一個按 「Unix/Linux 服務」程式設計的,也有自己的許可權規則,因此,PostgreSQL 在 Windows Server 2008 上安裝有些講究。

Windows Server 2008 相對於普通的 Windows XP 來說,有些差別:對於普通使用者,除了敏感的系統檔/目錄是不可讀寫,其它目錄,預設是唯讀、不能寫。即使當前登錄使用者是管理員使用者,很多時候寫檔也會彈出一個對話方塊,確認你的管理員操作,減少病毒、木馬程式亂改檔的可能。

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

最近將公司的專案從SqlServer移植到PostgreSQL資料庫上來,在調用資料庫的預存程序(自訂函數)的時候,發現一個奇怪的問題,老是報函數無法找到。

先看一個PgSQL預存程序:

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

PostgreSQL是一個使用廣泛的免費開源的資料庫,與MySQL比較,它更適合複雜的企業計算任務,而MySQL在互聯網領域應用更為廣泛,究其原因,可能是PostgreSQL擁有支援最多的資料類型,甚至包括陣列類型,IP網址類別型等,可以使用C,SQL,PL/Pgsql,Phython等多種方式編寫強大的自訂函數,因此特別適合處理複雜的計算問題。如果想要將SqlServer資料庫移轉到其它類型的資料庫,PostgreSQL是比較好的選擇。

儘管PostgreSQL使用比較廣泛,但在國內相關資料太少,我們在資料庫移轉的過程中,遇到了不少問題,比如我的上一篇文章PostgreSQL的.NET驅動程式Npgsql中參數物件的一個Bug 中關於「找不到函數名」的問題,解決起來比較「辣手」,可以使用「追蹤」來形容了。本篇繼續對這個問題進行深入探究。

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

目前有兩種主要的PostgreSQL的.NET驅動程式,分別是Npgsql和dotConnector for PostgreSQL(以下簡稱dotConnector),這兩者都是協力廠商的.NET Provider,本文將大致講解一下這兩個驅動程式的安裝方式,並講解如何利用它們構建PDF.NET的驅動程式,使得PDF.NET資料開發框架可以支援訪問PostgreSQL資料庫。

一、安裝PostgreSQL的.NET驅動程式

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

【51CTO獨家譯文】下文是來自PostgreSQL官網發佈的文章,筆者僅僅做了簡單翻譯,有不足之處,請多多指正。

PostgreSQL9.1Alpha第五版已經發佈上市。與之前發佈的9.1Alpha4相比,Alpha5沒有增加新的功能,但是這一版版本修正了很多很小的bug,並且與之前發佈的9.1Alpha4或者更早的Alpha版本相比,功能上有所改進。預計在最終版本之前,PostgreSQL不會再增加新的功能,因此這可能是9.1的最後一個Alpha版本。

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

作為一款優秀的開源資料庫軟體,PostgreSQL非常值得深入學習一下。先總結一下PostgreSQL資料庫的存儲體系結構。

傳統的關聯式資料庫的存儲結構多採用表空間的管理方式,其中涉及到extent,segment,page,file等存儲概念。

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

PostgreSQL為「大欄位「的物理存儲提供了TOAST功能,通過合適的配置策略能夠減少IO次數和掃描塊數,進而提升查詢速度。

TOAST:The Oversized-Attribute Storage Technique

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

PostgreSQL資料庫支援多種字元集,在配置字元集時要分清楚伺服器與用戶端的字元集,字元集不一致儘管有時能夠發生轉換,但帶來的問題也很頭疼。語言環境的配置也很重要。

伺服器字元集<來自文檔>:

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

PostgreSQL所針對的目標,與目前使用MySQL資料庫的人群很接近。那麼究竟PostgreSQL有何優勢?本文將為大家做出解釋。

本文將介紹PostgreSQL的交易處理功能的基本概念,並講解如何通過PostgreSQL用戶端以及從PHP腳本內部來執行各種事務。通過本文,您將學習什麼是事務,PostgreSQL是如何實現它們的,以及怎樣在自己的PHP應用程式中如何使用事務。

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

多版本併發控制技術已經成為未來資料庫的發展趨勢。目前,多版本併發控制被很多資料庫或儲存引擎採用,如Oracle,MS SQL Server 2005+, PostgreSQL, Firebird, InnoDB, Falcon, PBXT, Maria等等。新的資料庫儲存引擎,幾乎毫無例外的使用多版本而不是單版本加鎖的方法實現併發控制。

雖然都是多版本,但不同的資料庫系統的實現卻有很大不同。在開源資料庫領域最負盛名的兩個系統PostgreSQL和InnoDB的多版本實現就可謂有天壤之別。

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

一、前言

前一段時間,曾經翻譯過一篇將《你的網站從MySQL改為PostgreSQL》,其實當初我更感興趣的是一個應用程式的後臺資料庫從MySQL轉為PostgreSQL的具體操作,並沒有關心MySQL和PostgreSQL的優劣,沒想到反應出乎意料的大,因此我也就覺得有寫這篇文章的必要了。

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

無論是MySQL還是PostgreSQL資料庫,如果你不能每天對其進行備份的話,那麼應該每週對這些資料庫進行備份操作一次。對許多企業來說,資料庫資訊代表著網站內容和其它重要的資料,因此,保持資料備份是非常重要的操作。

慶倖的是,MySQL和PostgreSQL都提供將資料庫轉化成flat-text檔的工具,這樣你就可以將資料庫資訊輸入到其它系統或者將資料庫備份並保留它。

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

1 2