Linux下安裝 Posgresql 並設置基本參數


在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 文件,配置對數據庫的訪問權限

image

在最后一行加上配置,表示允許網段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。

image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM