環境說明
系統:centos 6.4 64位
軟體:postgresql 9.4.1
軟體下載
cd /usr/local/src/
wget https://ftp.postgresql.org/pub/source/v9.4.1/postgresql-9.4.1.tar.gz
安裝依賴包
yum install -y perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel python-devel gcc-c++ openssl-devel cmake
安裝postgresql
tar xf postgresql-9.4.1.tar.gz
cd postgresql-9.4.1
./configure --prefix=/usr/local/pgsql --with-perl --with-python --with-libxml --with-libxslt
gamke
gamke install
安裝PG外掛程式
cd /usr/local/src/postgresql-9.4.1/contrib
gmake
gmake install
載入動態庫
echo "/usr/local/pgsql/lib" >> /etc/ld.so.conf.d/pgsql.conf
ldconfig
初始化資料庫
建立使用者postgres
useradd postgres
echo "postgres"|passwd --stdin postgres
建立PG資料目錄
mkdir -p /data/pg/data
chown -R postgres:postgres /data/pg
/usr/local/pgsql/bin/initdb --no-locale -U postgres -E utf8 -D /data/pg/data -W
(在初始化的時候,看提示添加超級使用者的密碼)
備忘
initdb [選項]... [DATADIR]
-A, --auth=METHOD 本地串連的預設認證方法
-D, --pgdata=DATADIR 當前資料庫簇的位置
-E, --encoding=ENCODING 為新資料庫設定預設編碼
--locale=LOCALE 為新資料庫設定預設語言環境
--lc-collate, --lc-ctype, --lc-messages=LOCALE
--lc-monetary, --lc-numeric, --lc-time=LOCALE
為新的資料庫簇在各自的目錄中分別
設定預設語言環境(預設使用環境變
量)
--no-locale 等同於 --locale=C
--pwfile=檔案名稱 對於新的超級使用者從檔案讀取口令
-T, --text-search-config=CFG
預設的文本搜尋配置
-U, --username=NAME 資料庫超級使用者名稱
-W, --pwprompt 對於新的超級使用者提示輸入口令
-X, --xlogdir=XLOGDIR 當前交易記錄目錄的位置
非普通使用選項:
-d, --debug 產生大量的除錯資訊
-L DIRECTORY 輸入檔案的位置
-n, --noclean 出錯後不清理
-s, --show 顯示內部設定
其它選項:
-?, --help 顯示此協助, 然後退出
-V, --version 輸出版本資訊, 然後退出
如果沒有指定資料目錄, 將使用環境變數 PGDATA
配置運行環境變數(方便管理)
切換到root
vim /etc/profile
添加以下代碼:
PGDATA=/data/pg/data
PGHOST=127.0.0.1
PGDATABASE=postgres
PGUSER=postgres
PGPORT=5432
PATH=/usr/local/pgsql/bin:$PATH
export PATH
export PGDATA PGHOST PGDATABASE PGUSER PGPORT
執行生效
source /etc/profile
postgresql服務管理
啟動:
pg_ctl start -D /data/pg/data
重啟:
pg_ctl restart -D /data/pg/data
停止:
pg_ctl stop -D /data/pg/data
強制重啟:
pg_ctl restart -D /data/pg/data -m f
強制停止:
pg_ctl stop -D /data/pg/data -m f
-m f 指定快速關閉
載入配置:
pg_ctl reload -D /data/pg/data
顯示服務狀態:
pg_ctl status -D /data/pg/data
串連資料庫
psql -h 127.0.0.1 -U postgres -p 5432 -d postgres -W
-d 指定資料庫 ,-W 輸入密碼 , -U 指定使用者,-p 指定連接埠,-h 指定IP
複製PostgreSQL執行指令碼
cp /usr/local/src/postgresql-9.4.1/contrib/start-scripts/linux /etc/init.d/postgresql
chmod +x /etc/init.d/postgresql
修改/etc/init.d/postgresql
把PGDATA改成PGDATA=/data/pg/data
加入開機啟動
chkconfig postgresql on
管理PG服務時也可以直接用上面啟動指令碼
啟動:service postgresql start
停止:service postgresql stop
重啟:service postgresql restart
載入:service postgresql reload
狀態:serivce postgresql status