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命令创建的非文本格式的备份中恢复数据。