PostgreSQL12客户端程序与服务器程序介绍

客户端程序

1. 封装SQL命令的客户端程序
clusterdb
clusterdb是SQL CLUSTER命令的一个封装。PostgreSQL是堆表存储的,clusterdb通过索引对数据库中基于堆表的物理文件重新排序,它在一定场景下可以节省磁盘访问,加快查询速度。
举例如下:
/web/pgsql12/bin/clusterdb -h 192.168.0.68 -U postgres -p 5432 -d testdb
reindexdb
reindexdb是SQL REINDEX命令的一个封装,在索引物理文件发生损坏或索引膨胀等情况发生时,可以使用reindexdb命令对指定的表或者数据库重建索引并且删除旧的索引。
举例如下:
/web/pgsql12/bin/reindexdb -e -h 192.168.0.68 -U postgres -p 5432 -d testdb
vacuumdb
vacuumdb是PostgreSQL数据库独有的VACUUM、VACUUM FREEZE和VACUUM FULL,VACUUM ANALYZE这几个SQL命令的封装。VACUUM系列命令的主要职责是对数据的物理文件等的垃圾回收,
是PostgreSQL中非常重要的一系列命令。
举例如下:
/web/pgsql12/bin/vacuumdb -h 192.168.0.68 -U postgres -p 5432 -d testdb
vacuumlo
vacuumlo用来清理数据库中未引用的大对象。
举例如下:
/web/pgsql12/bin/vacuumlo -h 192.168.0.68 -U postgres -p 5432 -d testdb
createdb和dropdb
创建一个名为newdb的数据库,并且加上注释,命令如下:
/web/pgsql12/bin/createdb -h 192.168.0.68 -U postgres -p 5432 newdb "New database."
删除名为newdb的数据库的命令如下:
/web/pgsql12/bin/dropdb -h 192.168.0.68 -U postgres -p 5432 newdb
createuser和dropuser
创建一个名为newuser的非超级用户,newuser继承自pg_monitor系统角色,只能有一个连接,没有创建数据库的权限,没有创建用户的权限,并且立即给它设置密码,命令如下:
/web/pgsql12/bin/createuser -h 192.168.0.68 -p 5432 -c 1 -g pg_monitor -D -R -S -P -e newuser
是否超级用户、是否允许创建数据库、是否允许创建用户者三个权限可以使用--interactive参数提供交互界面,使用更简单,举例如下:
/web/pgsql12/bin/createuser -h 192.168.0.68 -p 5432 -c 1 -g pg_monitor --interactive -e -P newuser
删除名为newuser的用户的命令如下:
/web/pgsql12/bin/dropuser -h 192.168.0.68 -p 5432 newuser
2. 备份与恢复的客户端程序

  • pg_basebackup 取得一个正在运行中的PostgreSQL实例的基础备份。
  • pg_dump和pg_dumpall都是以数据库转储方式进行备份的工具。
  • pg_restore 用来从pg_dump命令创建的非文本格式的备份中恢复数据。
    3. 其它客户端程序
  • pgbench 是运行基准测试的工具,平常我们可以用它模拟简单的压力测试。
  • pg_config 获取当前安装的PostgreSQL应用程序的配置参数。
  • PostgrSQL包装了pg_isready工具用来检测数据库服务器是否已经允许接受连接。
  • pg_receivexlog可以从一个运行中的实例获取事务日志的流。
  • pg_recvlogical控制逻辑解码复制槽以及来自这种复制槽的流数据。
  • psql是连接PostgreSQL数据库的客户端命令行工具,是使用频率非常高的工具。

服务器程序

服务器程序包括:

  • initdb用来创建新的数据库目录。
  • pg_archivecleanup清理PostgreSQL WAL归档文件的工具。
  • pg_controldata显示数据库服务器的控制信息。
  • pg_ctl是初始化、启动、停止、控制数据库服务器的工具。
  • pg_resetwal可以清除预写日志并且有选择的重置存储在pg_control文件中的一些控制信息。当服务器由于控制文件损坏,pg_resetwal可以作为最后的手段。
  • pg_rewind是在master、slave角色发生切换时,将原master通过同步模式恢复,避免重做基础备份的工具。
  • pg_test_fsync可以通过一个快速的测试,了解系统使用哪一种预写日志的同步方法最快,还可以在发生I/O问题时提供诊断信息。
  • pg_test_timing是一种度量系统计时开销以及确认系统时间绝不会回退的工具。
  • pg_upgrade是PostgreSQL的升级工具。
  • pg_waldump用来将预写日志解析为可读的格式。
  • postgres是PostgreSQL的服务器程序。
  • postmaster可以从bin目录看到,是指向postgres服务器程序的一个软链接。
posted @ 2021-08-17 11:24  霸都运维  阅读(353)  评论(1编辑  收藏  举报