【PG管理】postgresql数据库管理相关
--单用户启动postgres--single-D/pgdata/10/datapostgres--单用户作用当多用户模式不接收所有命令时,可以使用单用户连接到数据库initdb的阶段修复系统表--相关参数设置select*frompg_settings;--相关参数描述,单位selectname,short_desc,unitfrompg_settingslimit4;--参数类别--internal:这些参数是只读参数,其中有些参数是postgres程序写死的。--postmaster:改变这些参数值需要重启实例。--sighup:在postgresql.conf文件中改变这些参数值,无需重启数据库,只需向postmater进程发送SIGHUP信号,让其重启装载配置新的参数值就可以了。--backend:跟sighup类似,改变生效只适用于新的链接,已有连接中无效.selectpg_reload_conf();--superuser:这类参数可以由超级用户使用set改变,session级别。--user:同supperuser类似。--查看参数修改是否需要重启selectname,contextfrompg_settingswherenamelike'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等操作--常用管理命令selectversion();--数据库启动时间selectpg_postmater_start_time();--查看最后load配置文件时间selectpg_conf_load_time();--查看参数配置selectcurrent_settlings('shared_buffers');showshared_buffers;--查看当前正在写的walselectpg_xlogfile_name(pg_current_xlog_location());--查看当前wal的buffer中有多少字节没有写入到磁盘中selectpg_xlog_location_diff(pg_current_xlog_insert_location(),pg_current_xlog_location());--查看数据库状态selectpg_is_in_recovery();--查看数据库大小selectpg_size_pretty(pg_relation_size('ipdb2'));--表大小selectpg_size_pretty(pg_total_relation_size('ipdb2'));--总大小--查看表空间大小selectpg_size_pretty(pg_tablespace_size('pg_global'));--kill长时间运行sqlidselectpid,usename,query_start,queryfrompg_stat_activity;selectpg_cancel_backend(567);selectpg_terminate_backend(567);
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。