首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

数据库PostrageSQL-备份和恢复

虽然过程相当简单,但清晰地理解其底层技术和假设是非常重要的。...我们后面将看到这样做有什么用处。 尽管上述命令会创建一个文本文件,pg_dump可以用其他格式创建文件以支持并行 和细粒度的对象恢复控制。...由pg_dump创建的备份在内部是一致的, 也就是说,转储表现了pg_dump开始运行时刻的数据库快照,且在pg_dump运行过程中发生的更新将不会被转储。...psql支持类似pg_dump的选项用以指定要连接的数据库服务器和要使用的用户名。参阅psql的手册获 取更多信息。 非文本文件转储可以使用pg_restore工具来恢复。...如果它们不存在,那么恢复过程将无法将对象创建成具有原来的所属关系以及权限(有时候这就是你所需要的,但通常不是)。 默认情况下,psql脚本在遇到一个SQL错误后会继续执行。

2.1K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    PostgreSQL 14中连接参数target_session_attrs增强

    背景 很多PG客户端程序使用C客户端libpq库访问数据库。libpq提供了一系列函数,允许连接PG后台服务并将查询传送过去,同时还可以接收查询返回的结果。...通过libpq,PG支持一个连接字符串,指定多个host+port。依次尝试每个host+port直到成功建立连接。 PG10中引入指定多个hosts的功能。...支持下面的参数值: target_session_attrs值 意义 any(默认值) 可以接受所有连接 read-write 默认情况下,可接受的读写事务中仅可以接受一个连接 从PG11开始,Fujitsu...但如果hosts列表中没有standby server,那么尝试“any”模式 注意,由于default_transaction_read_only设置成on,PG的server可以是只读但不能是hot...连接性能的提升 target_session_attrs增加了新值,当连接到PG14或之后的版本时,性能会有所提升。

    1.6K30

    从零开始学PostgreSQL (六): 备份和恢复

    5、连接参数: 可以通过-h host和-p port选项指定数据库服务器的主机名和端口号,以及通过-U username选项指定连接的用户名。...4、错误处理: 默认情况下,psql在遇到SQL错误时会继续执行脚本,但你可以通过设置ON_ERROR_STOP变量为on,使psql在第一个错误出现时就停止执行并退出,退出状态码为3。...在恢复时,如果使用自定义template1,那么需要从template0创建新数据库以保持一致性。...独立热备份 独立热备份是使用pg_basebackup工具创建的,这种备份速度快但占用空间较大,适用于快速恢复场景但不支持时间点恢复。...未来的开发方向之一是优化WAL数据的压缩,减少不必要的页面副本,同时保持full_page_writes开启。

    41710

    PostgreSQL 14和SCRAM认证的改变--应该迁移到SCRAM?

    最近,一些PG使用者反馈他们切换到PG14后,遇到了一些连接错误。...那些选择使用的人知道如何使用,但PG社区多年来一直不愿将其作为主要方法,因为许多客户端/应用程序还没准备好进行SCRAM身份认证。但这在PG14中发生变化。随着PG9.6不再支持,情况正在发生变化。...随着时间推移,改变了什么 Channel Binding 身份验证只是安全通信的一部分。身份验证后,中间的恶意服务器可能会接管并欺骗客户端连接。...但容易出现字典攻击和泄露用户名密码hash问题。 3、新的scram认证是否带来了复杂性?连接是否需要更长时间? Scram的有线协议非常有效,并且不知道会导致连接时间下降。...应该关注什么以及如何做 从自动化/部署脚本、工具、应用程序连接和连接池开始的任何东西都可能会中断。将此更改延迟到PG14的主要论据之一是,最旧的支持版本9.6即将停止支持。

    1.6K30

    如何备份PostgreSQL数据库

    要演示恢复丢失的数据,请删除示例数据库并在其位置创建一个空数据库: dropdb dbname createdb dbname 使用psql恢复数据库 psql test pg_dump命令。 这会将整个备份过程视为单个事务,这将在发生错误时阻止部分备份。...pg_dump -1 dbname > dbname.bak 远程数据库 正如psql允许您连接到远程主机一样,可以从客户端计算机运行pg_dump以备份远程服务器上的数据。...创建备份文件: pg_dumpall > pg_backup.bak 从备份还原所有数据库: psql -f pg_backup.bak postgres 使用Cron任务自动执行备份 您可能希望设置一个...如果您拥有一个非常大的数据库,虽然连续归档大型数据库会占用资源,但此方法也很有用。 由于该过程正在进行,因此无需进行频繁且耗时的完整备份。

    15.2K42

    进阶数据库系列(二十五):PostgreSQL 数据库日常运维管理

    restart -mf touch /usr/local/pgsql/backup_in_progress # 开始基础备份,可以在代码里连接数据库执行 psql -c "select pg_start_backup...}.tar $PGDATA # 结束备份,可以在代码里连接数据库执行 psql -c "select pg_stop_backup();" # 停止wal日志备份 rm /usr/local/pgsql...{crt,key} #修改pg_hba.conf vi $PGDATA/pg_hba.conf #所有远程连接都通过ssl连接 hostssl all postgres...(); #重新登录 \q psql #查看当前连接信息 \conninfo #查看所有连接信息 select pg_ssl.pid ,pg_ssl.ssl ,pg_ssl.version...不被计数; count(distinct (col1,col2,…) ) 计算多列的唯一值时,NULL会被计数,同时NULL与NULL会被认为是想同的; NULL是UNKNOWN的意思,也就是不知道是什么

    1.3K20

    数据库PostrageSQL-启动数据库服务器

    如果这个环境变量也没有提供则导致失败。 通常最好在后台启动postgres。...通过检查服务器日志或使用手工启动的方法(不做标准输出或标准错误的重定向), 就可以看到出现什么错误消息。下面我们详细地解释一些最常见的错误消息。...和上面一样,你可以通过减少允许的连接数(max_connections)来绕开这个限制,但最终你还是会希望提高内核的限制。...客户端连接问题 尽管可能在客户端出现的错误情况范围宽广而且是应用相关的,但的确有几种与服务器的启动方式直接相关。除了下面提到的几种错误之外的问题都应该在相应的客户端应用文档中。...上面的情况看起来是发生在尝试 TCP/IP 通信时。常见的错误是忘记把服务器配置成允许 TCP/IP 连接。

    4.2K20

    进阶数据库系列(二十六):PostgreSQL 数据库监控管理

    这么做的目的是让持有用户查询的服务器进程应该很少或者几乎不等待写动作的发生,因为后端写进程会做这件事情。这样的安排同样也减少了检查点造成的性能下降。...错误报告和日志 数据库管理员也许想知道错误报告和日志记录在什么地方,什么时间开始记录的和记录了什么等等。...select count(*) from pg_stat_activity ; 演示,打印每秒的总连接数。...psql select count(*) from pg_stat_activity ; \watch 1 N秒内新建的连接数 主要看趋势,直接与业务量挂钩, 如果突发大量连接,...如果很多,需要排查业务为什么未及时提交。 select count(*) from pg_prepared_xacts where now() - prepared > interval '?

    1.7K20

    【DB宝91】PG高可用之主从流复制+keepalived 的高可用

    :27 postgresql.conf -rw------- 1 pg13 postgres 0 Feb 10 16:27 standby.signal 在PG12之前,-R备份结束之后会自动生成...因此,可以看到谁处于连接状态,在做什么任务。pg_stat_replication也是检查slave是否处于连接状态的一个好方法。...• backend_start: 它告诉我们slave什么时间创建了流连接。 • state: 此列告诉我们数据的连接状态。如果事情按计划进行,它应该包含流信息。...-- 使用VIP连接 psql -h 172.72.6.8 -U postgres -p 5433 -c 'SELECT inet_server_addr(),pg_is_in_recovery()'...在主库关闭后,检测3次,即30秒之后,发生切换,此时备库切换为主库,VIP也在此时漂移到备库: [root@lhrpg67 /]# ifconfig eth0: flags=4163<UP,BROADCAST

    2.8K11

    OushuDB入门(三)——高可用篇

    客户端连接到主master节点并且查询只能在主master节点上执行。从master节点保持与主master节点的实时同步,这是通过将预写日志从主复制到从实现的。 3....当这些表在主节点上发生更改后(如DDL所引起),将自动同步到备用主节点,使其保持最新状态。如果主节点发生故障,管理员可以激活备用主节点。...当客户端使用jdbc连接OushuDB时,如果没有配置虚拟IP地址,建议同时将主节点地址与备用主节点地址加入到 jdbc连接的url地址中,以便客户端程序在OushuDB集群主节点发生切换时仍保持可用。...登录到备用主节点并激活它,之后备用主节点成为了OushuDB的主master。...使用以下查询检查活动连接: [gpadmin@hdp3 ~]$ psql -c "select pg_terminate_backend(procpid) from pg_catalog.pg_stat_activity

    93720

    Postgres 源码学习 1—Postgres 源码编译和 debug

    su 安装依赖 安装 Postgres 编译所需的依赖(这里是摘取了 Greenplum 的安装依赖,可能包含了一些没必要安装的,但肯定是涵盖了 Postgres 需要的依赖,所以全部安装上也没啥问题...,如果嫌麻烦,可以加入到 $HOME 目录中的 .bashrc 或者 .zshrc(取决于你的 sh 是什么),这样下次登录就不用重复设置了。...pg_ctl -D pg-data start 启动之后,可以查看 postgres 的进程状态。...也可以通过 psql 命令连接到数据库中: psql postgres 如何 Debug 有了源码环境之后,其实 Debug 调试就比较简单。...使用 psql 登录之后,后台会启动一个工作进程来服务于这个客户端的请求,可以通过 pg_backend_pid() 方法查看进程 id。

    47710
    领券