0
点赞
收藏
分享

微信扫一扫

PostgreSQL-常用管理命令-02

这一部分,涉及到系统维护常用的管理命令。

修改配置文件 "postgresql.conf" 后,使其生效:

# 在操作系统下使用 
[postgres@pgccc /]pg_ctl reload

# 在 psql 中使用
postgres=# select pg_reload_conf();
  pg_reload_conf
----------------
  t
(1 row)

需要注意的是,如果修改的参数,是需要重启数据库才能生效,以上两种方法无效。

切换 log 日志:

postgres=# select pg_rotate_logfile();

切换 WAL 日志:

postgres=# select pg_switch_wal();
  pg_switch_wal
---------------
  0/2001E58
(1 row)

手动产生一次检查点:

# 在 postgresql 中是,先日志 后数据
# 保证数据一致性
# 缩短实例恢复时间
postgres=# checkpoint;
CHECKPOINT
postgres=#

#取消正在长时间执行的SQL:

postgres=# select pid,usename,query_start,query from pg_stat_activity;

# 取消一个正在执行的SQL
postgres=# select pg_cancel_backend(456);

# 终止一个后台服务进程,同时释放此后台服务进程的资源
postgres=# select pg_terminate_backend(456);

需要注意的是,这两个函数的区别:

pg_cancel_backend() 实际上是给正在执行的SQL任务设置一个取消标志,当此SQL任务在执行过程中检测到此标志时,退出SQL任务。但是,如果SQL任务,长时间的非主动的无法检测到此取消标志,那么此SQL任务就无法正常退出,就需要 pg_terminate_backend() 直接终止SQL任务。

举报

相关推荐

0 条评论