post修改服务器数据源,postgresql安装及配置超详细教程
1. 安裝
根據業務需求選擇版本,官網下載
初始化數據庫
執行完初始化任務之后,postgresql 會自動創建和生成兩個用戶和一個數據庫:
linux 系統用戶 postgres:管理數據庫的系統用戶;
密碼由于是默認生成的,需要在系統中修改一下,$passwd postgres
數據庫用戶 postgres:數據庫超級管理員此
用戶默認數據庫為postgres
設置成 centos7 開機啟動服務
啟動 postgresql 服務
2. PostgrepSQL的簡單配置
pgsql9.6配置文件位置默認在:/var/lib/pgsql/9.6/data/postgresql.conf
2.1 修改監聽的ip和端口
監聽IP使用localhost時,只能通過127.0.0.1訪問數據庫;
如果需要通過其他遠程地址訪問PostgreSQL,可以使用“,”作為分隔符,把IP地址添加到listen_addresses后,或者使用“*”,讓所有IP都可以訪問數據庫。
注意:這里只是開啟數據庫的遠程訪問權限,具體是否能夠進行遠程登錄,還需要依據pg_hba.conf的認證配置,詳細內容見下節。
2.2 修改數據庫log相關的參數
日志收集,一般是打開的
日志目錄,一般使用默認值
只保留一天的日志,進行循環覆蓋
2.3 內存參數
共享內存的大小,用于共享數據塊。如果你的機器上有足夠的內存,可以把這個參數改的大一些,這樣數據庫就可以緩存更多的數據塊,當讀取數據時,就可以從共享內存中讀,而不需要再從文件上去讀取。
單個SQL執行時,排序、hash json所用的內存,SQL運行完后,內存就釋放了。
PostgreSQL安裝完成后,可以主要修改以下兩個主要內存參數:
shared_buffer:共享內存的大小,主要用于共享數據塊,默認是128MB;
如果服務器內存有富余,可以把這個參數適當改大一些,這樣數據庫就可以緩存更多的數據塊,當讀取數據時,就可以從共享內存中讀取,而不需要去文件讀取。
work_mem:單個SQL執行時,排序、hash join所使用的內存,SQL運行完成后,內存就釋放了,默認是4MB;
增加這個參數,可以提高排序操作的速度。
3. 數據庫的基礎操作
3.1 連接數據庫控制臺
如果想連接到數據庫,需要切換到postgres用戶下(默認的認證配置前提下)
在postgres用戶下連接數據庫,是不需要密碼的。
切換 postgres 用戶后,提示符變成 -bash-4.2$
使用psql連接到數據庫控制臺,此時系統提示符變為'postgres=#'
3.2 一些常用控制臺命令
命令
作用
\h
查看所有sql命令,\h select 等可以查看具體命令
?
查看所有psql命令
\d
查看當前數據庫所有表
\d
[tablename] 查看具體的表結構
\du
查看所有用戶
\l
查看所有數據庫
\e
打開文本編輯器
3.3 SQL控制臺操作語句
數據庫創建與修改
數據庫用戶創建與授權
4. 認證登錄
認證權限配置文件: /var/lib/pgsql/9.6/data/pg_hba.conf
命令行的各個參數解釋說明:
-U username 用戶名,默認值postgres
-d dbname 要連接的數據庫名,默認值postgres。如果單指定-U,沒指定-d參數,則默認訪問與用戶名名稱相同的數據庫。
-h hostname 主機名,默認值localhost
-p port 端口號,默認值5432
4.1 認證方式
常見的四種身份驗證方式
trust:凡是能連接到服務器的,都是可信任的。只需要提供數據庫用戶名,可以沒有對應的操作系統同名用戶;
password 和 md5:對于外部訪問,需要提供 psql 用戶名和密碼。對于本地連接,提供 psql 用戶名密碼之外,還需要有操作系統訪問權(用操作系統同名用戶驗證)。password 和 md5 的區別就是外部訪問時傳輸的密碼是否用 md5 加密;
ident:對于外部訪問,從 ident 服務器獲得客戶端操作系統用戶名,然后把操作系統作為數據庫用戶名進行登錄;對于本地連接,實際上使用了peer;
peer:通過客戶端操作系統內核來獲取當前系統登錄的用戶名,并作為psql用戶名進行登錄。
4.2 遠程登錄
postgresql.conf
pg_hba.conf
所有的用戶通過任意ip都可以通過md5(密碼)的方式登陸PostgreSQL,配置如下:
驗證
4.3 本地登錄
PostgreSQL登陸默認是peer,不需要驗證用戶密碼即可進入psql相關數據庫,但前提是必須切換用戶登陸。類似于最開始執行的su postgres;psql一樣。
如果必須按照上述登陸方式登陸的話,有兩種修改方式:
增添map映射
修改認證方式
a. map映射
map映射是用來將系統用戶映射到對應的postgres數據庫用戶,用來限制指定的用戶使用指定的賬號來登陸。
pg_ident.conf
修改pg_ident.conf文件,與pg_hba.conf文件同級目錄。其基本格式如下:
MAPNAME指的是映射的名稱,比如map_zhangsan
SYSTEM-USERNAME就是系統用戶的名稱,比如root
PG-USERNAME就是數據庫里存在的用戶名稱,比如zhangsan
上面定義的map意思是:定義了一個叫做map_zhangsan的映射,當客戶端用戶是root的時候,允許它用zhangsan用戶來登陸PostgreSQL。
修改pg_hba.conf文件
在peer的認證方式后面添加:map=map_tom
重啟PostgreSQL服務,再次嘗試,連接成功。
b. 修改認證方式
需要修改一下pg_hba.cong文件,將local all all peer修改為local all all md5,如下圖所示:
重啟PostgreSQL服務,再次嘗試,連接成功。
到此這篇關于postgresql安裝及配置超詳細教程的文章就介紹到這了,更多相關postgresql安裝及配置內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://www.cnblogs.com/sunhongleibibi/p/11943393.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的post修改服务器数据源,postgresql安装及配置超详细教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 民生银行信用卡申请常见问题及解答
- 下一篇: 平安惠定金开债C是什么?一文了解产品投资