尽管 WAL 归档允许恢复任何对PostgreSQL数据库的数据做的修改,在最初的基础备份之后,它不会恢复对配置文件的修改(也就是说,p
备份 PostgreSQL 数据有三种完全不同的方法:
一、 SQL 转储
SQL转储是使用pg_dump应用工具将当前的数据块导出为SQL文件;当数据库需要重建时,将该SQL文件回馈给服务器,恢复数据库为重建时的数据库状态。
当备份整个数据库集群的时候可以使用pg_dumpall程序, pg_dumpall 备份给出的集群中的每个数据库,同时还确保保留象用户和组这样的全局数据状态。
当数据库中表的大小大于系统允许的最大文件大小时,需要使用标准的UNIX工具解决该问题。
不足:
要获得数据库的超级用户权限,在数据库恢复时仍然要求这些权限的存在。
在pg_dump运行的时候对数据库的更新将不会被转储。
二、 文件系统级别的备份
直接拷贝PostgreSQL数据库中用于存放数据库数据的文件。
方式:
“一致快照方式”
使用rsync执行文件系统备份
不足:
在进行备份时必须关闭数据库
数据库分布在多个文件系统上时,只有关闭数据库足够长的时间才能完整备份
转储后的文件较大
三、在线备份以及即时恢复
这种方式组合了系统备份与WAL文件的备份,当需要恢复时,会先恢复文件备份然后重放WAL文件。
优点:
初始时并不需要完美的一致备份,因此不需要使用快照功能,tar或类似归档工具即可实现备份;
可以通过连续的备份WAL文件归档来实现连续的数据库备份;
可以将数据库恢复到开始备份以来的任意时刻的状态;
要求:
只支持整个数据库集群的恢复;
要求大量的归档存储;
操作:
1、设置WAL归档
1)创建 WAL备份目录,比如:d:\pg_xlog_archive
2)修改 postgresql.conf中的 archive_command 设置,比如:
archive_command = 'copy "%p" d:\\pg_xlog_archive\\%f'
注:%p要用双引号括起来处理安装目录中有空格的情况。
archive_mode = on
wal_level='archive'
在postgresql.conf文件里用archive_command 声明shell命令用于将一个完整的段文件拷贝到指定位置,在该shell命令中需要用%p表示要归档的文件的绝对路径, %f表示文件名。
eg:archive_command = 'cp -i %p /mnt/server/archivedir/%f /null'
归档命令要在运行PostgreSQL服务器的同一个用户的权限下执行。另外,当且仅当归档命令运行成功时它才返回0。
注意:尽管 WAL 归档允许恢复任何对PostgreSQL数据库的数据做的修改,在最初的基础备份之后,它不会恢复对配置文件的修改(也就是说,postgresql.conf,,pg_hba.conf和 pg_ident.conf),因为这些文件都是手工编辑的,而不是通过 SQL操作来编辑的。所以你可能会需要把你的配置文件放在一个日常文件系统备份过程即可处理到的地方。
2、进行基础备份
1)确保 WAL归档打开并且可以运转。
2)以数据库超级用户身份连接到数据库,发出命令 SELECT pg_start_backup('label');
这里的 label 是任意你想使用的这次备份操作的唯一标识。(一个好习惯是使用你想把备份转储文件放置的目的地的全路径。) pg_start_backup用你的备份的信息,在你的集群目录里,创建一个备份标签文件,叫做 backup_label。
3)执行备份,使用任何方便的文件系统工具,比如 tar或者 cpio。这些操作过程中既不需要关闭数据库,也不希望关闭数据库的操作。
4)再次以数据库超级用户身份连接数据库,然后发出命令 SELECT pg_stop_backup();
5)只要在备份过程中使用的 WAL段文件作为正常数据库活动的一部分备份完毕,你的备份工作就完成了。
注意:要保证你的备份转储包括所有数据库集群目录里的文件(比如,/usr/local/pgsql/data)以及表空间。
------------------------------------华丽丽的分割线------------------------------------
CentOS 6.3环境下yum安装PostgreSQL 9.3
PostgreSQL缓存详述
Windows平台编译 PostgreSQL
Ubuntu下LAPP(Linux+Apache+PostgreSQL+PHP)环境的配置与安装
Ubuntu上的phppgAdmin安装及配置
CentOS平台下安装PostgreSQL9.3
PostgreSQL配置Streaming Replication集群
如何在CentOS 7/6.5/6.4 下安装PostgreSQL 9.3 与 phpPgAdmin
------------------------------------华丽丽的分割线------------------------------------
PostgreSQL 的详细介绍:请点这里
PostgreSQL 的下载地址:请点这里
本文永久更新链接地址:

Stored procedures are precompiled SQL statements in MySQL for improving performance and simplifying complex operations. 1. Improve performance: After the first compilation, subsequent calls do not need to be recompiled. 2. Improve security: Restrict data table access through permission control. 3. Simplify complex operations: combine multiple SQL statements to simplify application layer logic.

The working principle of MySQL query cache is to store the results of SELECT query, and when the same query is executed again, the cached results are directly returned. 1) Query cache improves database reading performance and finds cached results through hash values. 2) Simple configuration, set query_cache_type and query_cache_size in MySQL configuration file. 3) Use the SQL_NO_CACHE keyword to disable the cache of specific queries. 4) In high-frequency update environments, query cache may cause performance bottlenecks and needs to be optimized for use through monitoring and adjustment of parameters.

The reasons why MySQL is widely used in various projects include: 1. High performance and scalability, supporting multiple storage engines; 2. Easy to use and maintain, simple configuration and rich tools; 3. Rich ecosystem, attracting a large number of community and third-party tool support; 4. Cross-platform support, suitable for multiple operating systems.

The steps for upgrading MySQL database include: 1. Backup the database, 2. Stop the current MySQL service, 3. Install the new version of MySQL, 4. Start the new version of MySQL service, 5. Recover the database. Compatibility issues are required during the upgrade process, and advanced tools such as PerconaToolkit can be used for testing and optimization.

MySQL backup policies include logical backup, physical backup, incremental backup, replication-based backup, and cloud backup. 1. Logical backup uses mysqldump to export database structure and data, which is suitable for small databases and version migrations. 2. Physical backups are fast and comprehensive by copying data files, but require database consistency. 3. Incremental backup uses binary logging to record changes, which is suitable for large databases. 4. Replication-based backup reduces the impact on the production system by backing up from the server. 5. Cloud backups such as AmazonRDS provide automation solutions, but costs and control need to be considered. When selecting a policy, database size, downtime tolerance, recovery time, and recovery point goals should be considered.

MySQLclusteringenhancesdatabaserobustnessandscalabilitybydistributingdataacrossmultiplenodes.ItusestheNDBenginefordatareplicationandfaulttolerance,ensuringhighavailability.Setupinvolvesconfiguringmanagement,data,andSQLnodes,withcarefulmonitoringandpe

Optimizing database schema design in MySQL can improve performance through the following steps: 1. Index optimization: Create indexes on common query columns, balancing the overhead of query and inserting updates. 2. Table structure optimization: Reduce data redundancy through normalization or anti-normalization and improve access efficiency. 3. Data type selection: Use appropriate data types, such as INT instead of VARCHAR, to reduce storage space. 4. Partitioning and sub-table: For large data volumes, use partitioning and sub-table to disperse data to improve query and maintenance efficiency.

TooptimizeMySQLperformance,followthesesteps:1)Implementproperindexingtospeedupqueries,2)UseEXPLAINtoanalyzeandoptimizequeryperformance,3)Adjustserverconfigurationsettingslikeinnodb_buffer_pool_sizeandmax_connections,4)Usepartitioningforlargetablestoi


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Dreamweaver CS6
Visual web development tools

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.
