PostgreSQL数据库pg_dump命令行不输入密码的方法

简介:
+关注继续查看
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://dgd2010.blog.51cto.com/1539422/1685968

对于PostgreSQL数据库的备份按照官方手册的方法之一就是采用“SQL Dump”的方式(另一种方式是直接备份文件系统中的文件,可参考官方手册)。

基本用法如下:

pg_dump dbname > outfile

首先,正如命令行所展示的,pg_dump是将命令结果输出到标准输出中。

其次,pg_dump并不影响数据库工作过程中的其他操作(主要是关心pg_dump会不会产生读写锁(read lock、write lock)),但也有例外,那就是哪些需要使用互斥锁(exclusive lock)的操作,如ALTER TABLE。

由于对于运维而言,通常需要使用脚本来执行数据库备份,而不是每天手动执行命令行并输入密码备份,因此特地查了一下文档,根据文档“31.15. The Password File”节的说明,可以在用户目录下建一个配置文件,提前将密码写入这个配置文件中,配置文件的格式如下:

hostname:port:database:username:password

需要将此文件放在执行pg_dump命令的用户目录下,保存成.pgpass 文件,并且权限为600,否则PostgreSQL就会报

WARNING: password file "/root/.pgpass" has group or world access; permissions should be u=rw (0600) or less

注意:如果PostgreSQL数据库的数据库表结构(database schema)依赖OIDs(例如外键),则pg_dump需要加-o选项。

PostgreSQL数据库的导出速度还是比较快的,导出3万多行不到1s。

PostgreSQL导出数据库命令行实例:

1
pg_dump -U confluence -d confluence -h 127.0.0.1 -o >/tmp/tmp_confluence_postgresql.sql

其中,

-U表示执行用户

-d表示数据库

-h表示主机

-o表示支持OLDs

注:如果不想使用.pgpass 文件,则可以在命令行中添加-W选项,意思是输入密码再执行。

附录:PostgreSQL数据库一些适合运维的基本操作

登录PostgreSQL数据库:

1
psql -U dbuser -d exampledb -h 127.0.0.1 -p 5432

如果也不想输入密码,则可以执行:

1
psql "host=127.0.0.1 hostaddr=127.0.0.1 port=5432 user=yourloginname password=yoursecret"

列出数据库:

\l

退出数据库console:

\q

tag:PostgreSQL数据库备份,PostgreSQL命令行不输入密码,PostgreSQL数据库基本操作,PostgreSQL数据库导出,PostgreSQL运维教程

--end--

本文出自 “通信,我的最爱” 博客,请务必保留此出处http://dgd2010.blog.51cto.com/1539422/1685968

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
4天前
|
前端开发 关系型数据库 数据库
使用psql操作PostgreSQL数据库
使用psql操作PostgreSQL数据库
12 0
|
4天前
|
关系型数据库 分布式数据库 数据库
玩转阿里云PolarDB开源数据库训练营火热开营中!
开学季玩转阿里云PolarDB开源数据库训练营开营啦!本次训练营理论结合手把手的教学,帮你轻松入门阿里云云原生开源数据库PolarDB PostgreSQL版与PolarDB分布式,一起探索PolarDB开源数据库的奥秘。
|
10天前
|
存储 关系型数据库 数据库
数据库内核那些事|PolarDB X-Engine:如何构建1/10成本的事务存储引擎?
X-Engine引擎是PolarDB为用户提供的低成本,高性价比的解决方案,LSM-tree分层存储结合标准zstd压缩,在性能和成本做到了很好的平衡。在标准sysbench场景下,存储空间相比InnoDB引擎减少60%,读写性能降低10-20%。
数据库内核那些事|PolarDB X-Engine:如何构建1/10成本的事务存储引擎?
|
12天前
|
关系型数据库 MySQL 分布式数据库
PolarDB MySQL全球数据库(GDN)异地多活
PolarDB MySQL支持跨地域部署全球数据库,打通全国/全球企业用户的数据,数据保持同步且网络延迟不大于2秒。
508 1
|
15天前
|
人工智能 关系型数据库 分布式数据库
沉浸式学习PostgreSQL|PolarDB 16: 植入通义千问大模型+文本向量化模型, 让数据库具备AI能力
开源大模型非常多, 但都需要大算力才能高效发挥大模型能力, 训练专业大模型. 普通企业很难构建及训练大模型. 为让大模型普惠企业及大众需求, 阿里云推出DashScope灵积:模型集市, 每个模型独有特点, 每一种模型都提供API接口, 任何人都可以调用大模型的算力. 什么和大模型结合将发挥重大的价值? 毫无疑问是数据. 1、通过数据来训练大模型. 2、通过大模型分析数据, 帮助企业进行决策. 3、通过大模型理解数据, 例如帮助企业解决客户和伙伴提出的问题, 提升产品体验. 这个实验将带领大家来体验一下如何将“千问大模型+文本向量化模型”植入到PG|PolarDB中, 让数据库具备AI能力.
22219 17
沉浸式学习PostgreSQL|PolarDB 16: 植入通义千问大模型+文本向量化模型, 让数据库具备AI能力
|
23天前
|
SQL 关系型数据库 分布式数据库
数据库内核那些事|细说PolarDB优化器查询变换:IN-List变换
本篇文章将对PolarDB的IN-List变换进行深入阐述,从而让我们对PolarDB的查询改写能力有更感性的认知。
|
25天前
|
关系型数据库 MySQL 分布式数据库
|
26天前
|
关系型数据库 Linux 数据库
Linux系统之安装PostgreSQL数据库
Linux系统之安装PostgreSQL数据库
161 1
|
27天前
|
Oracle 关系型数据库 数据库
PostgreSQL和Oracle两种数据库有啥区别?如何选择?
PostgreSQL和Oracle两种数据库有啥区别?如何选择?
53 0
|
29天前
|
关系型数据库 分布式数据库 数据库
直播预告 | PolarDB开源数据库云上实验室:云时代下的数据库学习新范式
在学习数据库的过程中,一个便捷的练习环境是走向成功的关键第一步。为了方便开发者学习和使用开源数据库,PolarDB特别提供了免费的在线实验环境,内置PG数据库以及PolarDB-X/PolarDB-PG的容器镜像。无需下载或安装,只需一键启动,便可立即投入学习。
推荐文章
更多