以下為redhat8.0上安裝postgresql實錄
1.下載8.0.1原始碼包
2.installation ./configure
make
su
make install
adduser postgres
mkdir /usr/local/pgsql/data
chown postgres /usr/local/pgsql/data
su - postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data 3.
自啟動 複製原始碼解壓包下的contrib/start-scripts/linux至/etc/init.d/下,修改名字為postgres並改成可執行許可權,以後可以使用 /etc/init.d/postgresql start 啟動 4.
可以使用以下命令建立測試資料庫
/usr/local/pgsql/bin/createdb test
/usr/local/pgsql/bin/psql test 5.
共用記憶體---訊號量等設定 ipcs命令顯示系統的ipc對象使用方式 Linux 在 2.2 核心裡預設的共用記憶體限制( SHMMAX 和 SHMALL)都是 32 MB, 但是你可以在 proc 檔案系統裡修改這些值(不用重起)。 比如,要允許 128 MB: $ echo 134217728 >/proc/sys/kernel/shmall
$ echo 134217728 >/proc/sys/kernel/shmmax 你可以把這些命令放到一個引導時啟動並執行指令碼中。 另外,如果你的系統裡有的話,你可以使用 sysctl 來控制這些參數。 尋找一個叫 /etc/sysctl.conf 的檔案,然後再它裡面加下面這樣的幾行: kernel.shmall = 134217728
kernel.shmmax = 134217728 通常在引導的時候會處理這個檔案, 但你也可以稍後明確調用 sysctl。 其他參數對任何應用來說都足夠了。 如果你想自己查看,你可以看看下面幾個檔案: /usr/src/linux/include/asm-
xxx/shmparam.h 和 /usr/src/linux/include/linux/sem.h. 6.
使用SSL進行通訊(postgresql文檔16.7)
1) 製作認證請求
openssl req -new -text -out server.req 2) 轉化私密金鑰檔案為server.key openssl rsa -in privkey.pem -out server.key rm privkey.pem 3) 產生認證 openssl req -x509 -in server.req -text -key server.key -out server.crt chmod og-rwx server.key 4) 把認證和密鑰拷貝到系統使用他們的地方 cp ..../server.crt /usr/local/pgsql/data cp ..../server.key /usr/local/pgsql/data cd /usr/local./pgsql/data chown postgres.postgres server.crt chown postgres.postgres server.key 7.
讓192.168.0.1/24網段可以連入
1) 修改postgresql.conf 修改如下行: listen_addresses = '*' 2) 修改pg_hba.conf,添加如下行: hostssl all all 192.168.0.1/24 trust 8.
給postgres添加一個口令
1) 進入命令方式
/usr/local/pgsql/bin/pgsql mydb 2) 修改密碼 alter user postgres password 'yourpass' (預設是md5的)可以通過select * from pg_shadow表查看。 3) 修改pg_hba.conf檔案為 hostssl all all 192.168.0.1/24 md5
9. 使root使用者在本地以postgres使用者登入 1) 修改/usr/local/pgsql/data目錄下的檔案pg_hba.conf local all all ident omicron 2) 修改/usr/local/pgsql/data目錄下的檔案pg_ident.conf 添加 omicron root postgres
3) 重啟/etc/init.d/postgresql restart 4) 訪問資料庫時使用命令/usr/local/pgsql/bin/psql mydb -U postgres
10. 系統資料表----系統資料表是關係型資料庫存放結構中繼資料的地方, 比如表和欄位,以及內部登記資訊等。 PostgreSQL 的系統資料表就是普通表。 你可以刪除然後重建這些表,增加列,插入和更新數值, 然後徹底把你的系統搞垮。 我們不應該手工修改系統資料表,通常總有 SQL 命令可以做這些事情。 在 pg_database 裡有兩個有用的標誌可以用於每個資料庫: 欄位 datistemplate 和 datallowconn。 datistemplate 表示該資料庫是準備用做 CREATE DATABASE 的模板的。 如果設定了這個標誌,那麼該資料庫可以由任何有 CREATEDB 許可權的使用者複製;如果沒有設定,那麼只有超級使用者和該資料庫的所有者可以複製它。 如果 datallowconn 為假,那麼將不允許與該資料庫發生任何新的串連(不過現有的會話不會因為把該標誌設定為假而被殺死)。 template0 資料庫通常被標記為 datallowconn = false 以避免對它的修改。 template0 和 template1都應該總是標記為datistemplate = true。
修改標記使用語句:UPDATE pg_database SET datallowconn = true WHERE datname = 'template0';
11.
系統常用的SQL命令
12. md5()散列函數 update operator set password='md5' || substring(md5('yourpass') from 1 for 20);