千家信息网

【PG管理】postgresql数据库管理相关

发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,--单用户启动postgres --single -D /pgdata/10/data postgres--单用户作用当多用户模式不接收所有命令时,可以使用单用户连接到数据库initdb的阶段修复系统
千家信息网最后更新 2024年11月24日【PG管理】postgresql数据库管理相关
--单用户启动postgres --single -D /pgdata/10/data postgres--单用户作用当多用户模式不接收所有命令时,可以使用单用户连接到数据库initdb的阶段修复系统表--相关参数设置select * from pg_settings;--相关参数描述,单位select name,short_desc,unit from pg_settings limit 4;--参数类别--internal:这些参数是只读参数,其中有些参数是postgres程序写死的。--postmaster:改变这些参数值需要重启实例。--sighup:在postgresql.conf文件中改变这些参数值,无需重启数据库,只需向postmater进程发送SIGHUP信号,让其重启装载配置新的参数值就可以了。--backend:跟sighup类似,改变生效只适用于新的链接,已有连接中无效.select pg_reload_conf();--superuser:这类参数可以由超级用户使用set改变,session级别。--user:同supperuser类似。--查看参数修改是否需要重启select name,context from pg_settings where name like 'wal_buffers';--连接数据库的相关参数max_connections:默认100,允许和数据库连接的最大并发连接数superuser_reserved_connections:默认3,防止普通用户消耗掉所有连接,确保超级用户可以连接数据库。--空闲180秒后尝试连接,每隔10秒连接一次,最多连接三次,尝试失败后关闭连接tcp_keepalives_idle=180tcp_keepalives_interval=10tcp_keepalives_count=3--内存配置shared_buffers:通常设置系统内存的25%,max_connections(MB) 数值的两倍temp_buffers:用于临时表work_mem:排序、hashmaintenance_work_mem:维护操作中使用的最大内存synchronous_commit:提交事务是否需要等wal日志写入磁盘再返回。默认on--日志相关logging_collector=on --打开日志log_min_duration_statement --如果如果某个sql运行大于多少毫秒,记录到日志log_min_error_statement -- sql错误信息可以记录到日志中log_statement  -- 是否记录ddl、dml等操作--常用管理命令select version();--数据库启动时间select pg_postmater_start_time();--查看最后load配置文件时间select pg_conf_load_time();--查看参数配置select current_settlings('shared_buffers');show shared_buffers;--查看当前正在写的walselect pg_xlogfile_name(pg_current_xlog_location());--查看当前wal的buffer中有多少字节没有写入到磁盘中select pg_xlog_location_diff(pg_current_xlog_insert_location(),pg_current_xlog_location());--查看数据库状态select pg_is_in_recovery();--查看数据库大小select pg_size_pretty(pg_relation_size('ipdb2'));  --表大小select pg_size_pretty(pg_total_relation_size('ipdb2'));  --总大小--查看表空间大小select pg_size_pretty(pg_tablespace_size('pg_global'));--kill长时间运行sql  idselect pid,usename,query_start,query from pg_stat_activity;select pg_cancel_backend(567);select pg_terminate_backend(567);


0