官术网_书友最值得收藏!

PostgreSQL utility tools

Several PostgreSQL utility tools are wrappers around SQL constructs. These tools are used to create and drop databases, users and languages. For example, dropdb and createdb commands are wrappers around DROP DATABASE [ IF EXISTS ] and CREATE DATABASE respectively.

Also PostgreSQL provide tools to maintain the system objects, mainly clusterdb and reindexdb. The clusterdb is a wrapper around the CLUSTER statement, which is used to physically reorder the table based on a certain index information. This can increase database performance read operation due to the locality of reference principles, mainly spatial locality. Clustering the table helps in retrieving data from adjacent storage blocks and thus reduces hard disk access cost. 

reindexdb tool is a wrapper a round around reindex SQL statement. There are several reasons to reindex an index, for example, the index might get corrupted--which rarely happens in practice--or bloated.

In addition to the previous ones, postgreSQL provides tools for the following:

  • Physical backup: This is used to back up the PostgreSQL database files by taking a hard disk snapshot. This method is a very fast way to create a backup, but the backup can only be restored on compatible PostgreSQL versions. The tool pg_basebackup is used for this purpose. The pg_basebackup is often used for setting up streaming replication as the slave is a clone of a master.
  • Logical backup: This is used to back up the database objects in the form of SQL statements such as CREATE TABLE, CREATE VIEW, COPY, and so on. The generated backup can be restored on different PostgreSQL cluster versions, but it is slow. The tools pg_dumppg_dumpall are used to dump a single database or a database cluster respectively. pg_dump also can be used to dump a specific relation or set of relation and schema. Also it has a lot of features such as dumping schema only or data only. pg_dumpall internally uses pg_dump to dump all databases on the cluster. Finally, the pg_restore tool is used to restore the dumps generated by pg_dump or pg_dumpall

pg_dump does not dump the CREATE DATABASE statement command. For example, one can dump a database called customer to another database called client. Due to this, if you have a special privileges assigned to the database such as CONNECT, you need to assign these privileges to the new database.

主站蜘蛛池模板: 伊通| 阳东县| 南阳市| 浦北县| 玉环县| 攀枝花市| 临汾市| 肥东县| 彩票| 夏津县| 临清市| 梁河县| 孙吴县| 菏泽市| 小金县| 通江县| 山丹县| 泾川县| 岐山县| 布尔津县| 桐乡市| 云霄县| 定安县| 汉川市| 大冶市| 即墨市| 瓦房店市| 宿州市| 卢龙县| 桑日县| 抚州市| 垣曲县| 邻水| 林州市| 玉环县| 西吉县| 海门市| 宁津县| 中西区| 太和县| 孝感市|