一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Linux|Centos|Ubuntu|系統進程|Fedora|注冊表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服務器之家 - 服務器系統 - Solaris - Postgresql 數據庫控制解析(一)

Postgresql 數據庫控制解析(一)

2023-05-08 22:02未知服務器之家 Solaris

前面我們通過“探索postgresql數據庫(一)”和“探索postgresql數據庫(二)”基本了解了postgresql數據庫。接下來本文開始介紹下數據庫控制(server control)。。 一、手動開啟數據庫(Starting the database server manually) 默認postgresql會隨

Postgresql 數據庫控制解析(一)

前面我們通過“探索postgresql數據庫(一)”和“探索postgresql數據庫(二)”基本了解了postgresql數據庫。接下來本文開始介紹下數據庫控制(server control)。。

一、手動開啟數據庫(Starting the database server manually)
默認postgresql會隨著系統自動啟動,不過有時候設置改動可能需要手動停止或者啟動數據庫。
首先需要區別server和service兩個概念。server指的是database server和他的一些進程,service指的是操作系統中被server包裝起來的服務。server本質上可以在不同平臺上以相同的方式工作,但是service就會因為各個操作系統不同而不同。
在所有操作系統平臺,都有命令來啟動postgresql server,如:

UBUNTU/DEBIAN pg_ctlcluster 9.0 main reload
RED HAT/FEDORA pg_ctl -D /var/lib/pgsql/data start
SOLARIS pg_ctl -D /var/lib/pgsql/data start
MAC OS pg_ctl -D /var/lib/pgsql/data start
FREEBSD pg_ctl -D /var/lib/pgsql/data start

在有些平臺,也可以用這些命令啟動。

RED HAT/FEDORA service postgresql start
WINDOWS net start postgres

二、安全快速停止數據庫(Stopping the server safely and quickly)
可以用以下命令快速停止數據庫:

pg_ctl -D datadir -m fast stop

如果想快速停止,就一定要加-m fast這個參數,因為默認postgresql是需要等所有用戶結束才會關閉的。使用fast快速停止命令,所有用戶在進行的操作都會終止。在關閉數據庫時,postgresql和其他如Oracle, DB2, 或者SQLServer關系型數據庫的區別是postgresql的事務回滾非常快,而其他數據庫關閉可能需要很長時間。

三、緊急停止數據庫(Stopping the server in an emergency)

pg_ctl -D datadir stop -m immediate

使用immediate模式和fast模式一樣,都會強制中止所有用戶的事務,關閉連接。不過immediate模式相當于數據庫經歷了崩潰,比如斷電。下次重啟時緩存的文件需要重建,數據庫自己也需要對崩潰進行恢復。
需要dba注意的是,Oracle中的immediate模式相當于強制關閉數據庫,postgresql和oracle這個是不一樣的。

四、重新加載數據庫配置文件(Reloading the server configuration files)
postgresql配置文件中的一些參數需要重新加載才會生效。以下是各個操作系統平臺重新加載的命令:

UBUNTU/DEBIAN pg_ctlcluster 9.0 main reload
RED HAT/FEDORA service postgresql reload 或pg_ctl -D /var/lib/pgsql/data reload
SOLARIS pg_ctl -D /var/lib/pgsql/data reload
MAC OS pg_ctl -D /var/lib/pgsql/data reload
FREEBSD pg_ctl -D /var/lib/pgsql/data reload

我們也可以在連接postgresql的時候重新加載配置文件,不過前提是你登陸的是超級用戶:

postgres=# select pg_reload_conf();
 pg_reload_conf
----------------
 t

在pg_settings這個系統表中有一個context字段,如果字段值是”sighup”,那么就必須要reload。以下列出在數據庫配置中可能需要改變的參數:

forummon=# select name,setting,unit,(source=\'default\') as is_default from pg_settings
where context =\'sighup\' and (name like \'%delay\' or name like \'%timeout\') and setting !=\'0\' ;
 name | setting | unit | is_default
------------------------------ --------- ------ ------------
 authentication_timeout | 60 | s | t
 autovacuum_vacuum_cost_delay | 20 | ms | t
 bgwriter_delay | 200 | ms | t
 checkpoint_timeout | 300 | s | t
 max_standby_archive_delay | 30000 | ms | t
 max_standby_streaming_delay | 30000 | ms | t
 wal_receiver_timeout | 60000 | ms | t
 wal_sender_timeout | 60000 | ms | t
 wal_writer_delay | 200 | ms | t
(9 rows)

五、快速重啟數據庫(Restarting the server quickly)
有些數據庫配置的修改必須要求重啟數據庫,如何快速重啟就顯得特別重要。當然重啟最好是在數據庫壓力很小的時候。
基礎快速重啟命令:

pg_ctl -D datadir restart -m fast

重啟表面上看是先停止,在啟動,很簡單的一個步驟。在大多數情況下,這個確實很簡單。

六、防止新鏈接(Preventing new connections)
在某些緊急情況下,dba們可能需要完全鎖定數據庫,或者靜止特定的人連接。
一下是防止新鏈接的幾個方法:
1、暫?;蛘呋謴蜁挸?;后面介紹
2、關閉數據庫,不推薦這樣做;
3、設置特定數據庫的連接數為0;
ALTER DATABASE foo_db CONNECTION LIMIT 0;
這個可以限制除了超級用戶外的其他用戶。
4、設置特定用戶的連接數為0
ALTER USER foo CONNECTION LIMIT 0;
這個可以限制除了超級用戶外的其他用戶。
5、修改host-based authentication (HBA)文件,重新加載數據庫
先備份下pg_hba.conf文件,修改pg_hba.conf文件。
###如下兩行將會禁止所有用戶連接數據庫,包括超級用戶:

# TYPE DATABASE USER CIDR-ADDRESS METHOD
 local all all reject
 host all all 0.0.0.0/0 reject
###如果需要讓postgres這個超級用戶連接,可以修改成如下設置:
# TYPE DATABASE USER CIDR-ADDRESS METHOD
 local all postgres ident
 local all all reject
 host all all 0.0.0.0/0 reject

d.重新加載數據庫

七、限制每個連接用戶只能打開一個session(Restricting users to just one session each)
如果需要控制服務器資源,你可能會希望一個用戶只能同時打開一個session連接。當然這個也可以用來限制用戶,這個上面已經有介紹。以下是基本命令:

postgres=# ALTER ROLE fred CONNECTION LIMIT 1;

需要取消限制可以把值設為-1。
查詢用戶鏈接限制

SELECT rolconnlimit FROM pg_roles WHERE rolname = \'postgres\';

查看用戶當前連接數

SELECT count(*) FROM pg_stat_activity WHERE usename = \'postgres\';

西部數碼(west.cn)是經工信部審批,持有ISP、云牌照、IDC、CDN全業務資質的正規老牌云服務商,自成立至今20余年專注于域名注冊、虛擬主機云服務器、企業郵箱、企業建站等互聯網基礎服務!
公司自研的云計算平臺,以便捷高效、超高性價比、超預期售后等優勢占領市場,穩居中國接入服務商排名前三,為中國超過50萬網站提供了高速、穩定的托管服務!先后獲評中國高新技術企業、中國優秀云計算服務商、全國十佳IDC企業、中國最受歡迎的云服務商等稱號!
目前,西部數碼高性能云服務器正在進行特價促銷,最低僅需48元!
https://www.west.cn/cloudhost/

延伸 · 閱讀

精彩推薦
  • Solarissolaris下VNC的安裝方法

    solaris下VNC的安裝方法

    solaris下VNC的安裝方法,有需要的朋友可以參考一下。 ...

    solaris教程網6232019-11-19
  • SolarisSolaris8安裝OPENSSH方法

    Solaris8安裝OPENSSH方法

    Solaris8安裝OPENSSH方法...

    Solaris教程網4112019-11-19
  • SolarisSolaris10.0下掛載光驅

    Solaris10.0下掛載光驅

    Solaris10.0下掛載光驅...

    Solaris教程網3882019-11-07
  • SolarisSolaris系統下配置MPXIO

    Solaris系統下配置MPXIO

    用的LSI的存儲 和普安的存儲 SUN V245平臺+LPE11002 或者Qlogic QLE2460 環境SUN的V245 +LSI 3994 想測試下 LSI的存儲在Solaris下的路徑冗余,因為用LSI帶的RDAC裝完系統就...

    Solaris教程網3952019-11-11
  • SolarisSolaris設置ADSL撥號上網

    Solaris設置ADSL撥號上網

    Solaris設置ADSL撥號上網...

    Solaris教程網2722019-11-22
  • SolarisSolaris 基礎知識

    Solaris 基礎知識

    1. Q: Solaris 的系統配置文件一般在什么地方? A: 可以查看/etc/system文件,里面有一些solaris啟動時默認加載的選項,包括 共享內存大小等的設置。 2. Q: 在sol...

    Solaris教程網3272019-11-20
  • SolarisSolaris中對tar.z進行安裝卸載詳解

    Solaris中對tar.z進行安裝卸載詳解

    今天小編將要為大家帶來的是Solaris中對tar.z進行安裝卸載詳解!希望對大家會有幫助!有需要的朋友一起去看看吧 ...

    sanyao12074912019-11-06
  • SolarisSolaris系統硬盤分區知識

    Solaris系統硬盤分區知識

    Solaris 下,一個磁盤包含8個分區,標記為0-7。此信息可以通過format命令,然后選擇一個硬盤來看到,例如,在我自己的系統中(Solaris9,Ultra60),顯示出來的信...

    Solaris教程網6252019-11-18
主站蜘蛛池模板: 大奶妈咪女教师 | 日本一区二区三区在线 视频 | 国产99视频精品免视看7 | 国产精品九九久久一区hh | 男生操女生动态图 | 亚洲欧洲日产v特级毛片 | 国产精品久久久久这里只有精品 | 爽好大快深点一视频 | 久久精品国产清白在天天线 | 欧美激烈精交gif动态图18p | 黑人女性猛交xxxxxⅹxx | 亚洲第一色网站 | 亚洲国产精品ⅴa在线观看 亚洲国产高清一区二区三区 | 无码AV免费精品一区二区三区 | 欧美性xxxxxx爱| 五月色婷婷网在线观看 | 俄罗斯13一14处出血视频在线 | 无遮挡免费h肉动漫在线观看 | 爱情岛论坛亚洲永久入口口 | 国产精品嫩草影院在线看 | 精品国产免费观看一区高清 | 男女男精品网站免费观看 | 校花被强迫np肉高h 校服下的白嫩小乳尖h1v1 | 女子校生下媚药在线观看 | 欧美日韩国产精品va | 亚洲欧美综合人成野草 | 亚洲黄色图 | 亚洲国产成人久久综合一区77 | 国产成人精品第一区二区 | 18free性欧美另类hd | 精品国产免费观看一区高清 | 精品国语对白精品自拍视 | 免费看日产一区二区三区 | 欧美精品久久久亚洲 | 国产亚洲精品一区二区在线观看 | 日本一道高清不卡免费 | 成年男女免费视频 | 丰满大乳欲妇三级k8 | 四虎影院网址大全 | 亚洲天堂激情 | 欧美性f |