在Linux下安裝Postgresql有二進位格式安裝和源碼安裝兩種安裝方式,這裡用的是二進位格式安裝。各個版本的Linux都內置了Postgresql,所以可直接通過命令行安裝便可。本文用的是Centos6.5。 安裝Postgresql # 安裝postgresql伺服器 yum install... ...
在Linux下安裝Postgresql有二進位格式安裝和源碼安裝兩種安裝方式,這裡用的是二進位格式安裝。各個版本的Linux都內置了Postgresql,所以可直接通過命令行安裝便可。本文用的是Centos6.5。
安裝Postgresql
# 安裝postgresql伺服器 yum install postgresql-server #依賴包是否安裝 Y/N Y #第三方貢獻包 yum install postgresql-contrib #依賴包是否安裝 Y/N Y
安裝成功後,資料庫狀態
[root@localhost hadoop]# service postgresql status
postmaster is stopped
嘗試啟動資料庫,但報錯,需要先初始化數據目錄
[root@localhost hadoop]# service postgresql start /var/lib/pgsql/data is missing.Use "service postgresql initdb" to initialize the cluster first.
[root@localhost hadoop]# service postgresql initdb
Initializing database: [OK]
啟動資料庫
通過service命令啟動Postgresql,需要註意的是,預設在安裝時會創建postgres用戶並安裝到此用戶下。而Postgresql 的預設資料庫也是用此用戶命名的。
[root@localhost hadoop]# service postgresql start Starting postgresql service: [ OK ] [root@localhost hadoop]# su - postgres -bash-4.1$ psql psql (8.4.20) Type "help" for help. postgres=# \l List of databases Name | Owner | Encoding | Collation | Ctype | Access privileges -----------+----------+----------+-------------+-------------+----------------------- postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres : postgres=CTc/postgres template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres : postgres=CTc/postgres (3 rows) postgres=#
Postgresql 的Psql 就等於Oracle的Sqlplus一樣 ,直接用命令Psql登錄等於用操作系統驗證登錄,不需要輸入用戶名和密碼。
基本參數設置
在Centos下,預設的數據目錄在 /var/lib/pgsql/data 下 ,配置的參數文件就在此目錄下。
-bash-4.1$ ls -l total 80 drwx------ 5 postgres postgres 4096 Nov 16 07:43 base drwx------ 2 postgres postgres 4096 Nov 17 23:51 global drwx------ 2 postgres postgres 4096 Nov 16 07:43 pg_clog -rw------- 1 postgres postgres 3533 Nov 17 22:05 pg_hba.conf -rw------- 1 postgres postgres 1631 Nov 16 07:43 pg_ident.conf drwx------ 2 postgres postgres 4096 Nov 18 00:00 pg_log drwx------ 4 postgres postgres 4096 Nov 16 07:43 pg_multixact drwx------ 2 postgres postgres 4096 Nov 18 00:00 pg_stat_tmp drwx------ 2 postgres postgres 4096 Nov 16 07:43 pg_subtrans drwx------ 2 postgres postgres 4096 Nov 16 07:43 pg_tblspc drwx------ 2 postgres postgres 4096 Nov 16 07:43 pg_twophase -rw------- 1 postgres postgres 4 Nov 16 07:43 PG_VERSION drwx------ 3 postgres postgres 4096 Nov 16 07:43 pg_xlog -rw------- 1 postgres postgres 16877 Nov 17 21:54 postgresql.conf -rw------- 1 postgres postgres 57 Nov 17 23:51 postmaster.opts -rw------- 1 postgres postgres 45 Nov 17 23:51 postmaster.pid
配置遠程登錄資料庫
1. 修改 postgresql.conf 文件,配置PostgreSQL資料庫伺服器的相應的參數
listen_addresses = '*' # PostgreSQL安裝完成後,預設是只接受來在本機localhost的連接請求,此處將資料庫伺服器的監聽模式修改為監聽所有主機發出的連接請求 port = 5432 # 預設埠,修改後要重啟資料庫
2. 修改 pg_hba.conf 文件,配置對資料庫的訪問許可權
在最後一行加上配置,表示允許網段192.168.191.0上的所有主機使用所有合法的資料庫用戶名訪問資料庫,
24是子網掩碼,表示允許IP範圍在 192.168.191.0--192.168.191.255 的電腦訪問。
3. 測試遠程登錄
首先修改預設資料庫用戶登錄密碼
-bash-4.1$ psql psql (8.4.20) Type "help" for help. postgres=# \password按提示修改密碼。
然後再從另一臺區域網機器上登錄
psql -U postgres -d postgres -h 192.168.191.5 -p 5432 -- 成功
其中 –u 指定用戶,-d 指定資料庫名 ,-h 指定host,-p 埠號,按提示輸入密碼。
另外,可視化客戶端推薦用DBeaver,以下是 DBeaver 連接測試截圖。