本文章來為各位介紹一篇關于postgresql 9.4 在linux環境的安裝步驟詳解,希望文章能夠對各位新手朋友帶來幫助的哦。
環境說明
系統:centos 6.4 64位
軟體:postgresql 9.4.1
軟體下載下傳
安裝依賴包
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
make
make install
安裝PG插件
cd /usr/local/src/postgresql-9.4.1/contrib
make
make 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執行腳本(此處在root使用者下)
cp /usr/local/src/postgresql-9.4.1/contrib/start-scripts/linux /etc/init.d/postgresql
chmod +x /etc/init.d/postgresql
修改
vi /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
狀态:service postgresql status
PostgreSQL開啟遠端通路
允許遠端主機登入
打開postgresql的服務啟動配置檔案
cd /data/pg/data
1.修改postgresql.conf檔案,将資料庫伺服器的監聽模式修改為監聽所有主機發出的連接配接請求。
定位到#listen_addresses=’localhost’。PostgreSQL安裝完成後,預設是隻接受來在本機localhost的連接配接請 求。
将行開頭都#去掉,将行内容修改為listen_addresses=’*'來允許資料庫伺服器監聽來自任何主機的連接配接請求
打開postgresql的遠端通路配置檔案
cd /data/pg/data
更改 pg_hba.conf 檔案
替換這一行即可:
host all all 0.0.0.0/0 md5
重新開機資料庫:
service postgresql restart