Linux下PostgresSQL数据pg_dump导出的操作命令

pg_dump

pg_dump是将一个PostgreSQL数据库抽出到一个脚本文件或者其它归档文件中。
pg_dump是一个用于备份PostgreSQL数据库的实用工具,即使当前数据库正在使用,也能够生成一致性的备份,且不会阻塞其他用户访问数据库。
pg_dump是PostgreSQL提供的一个工具,逻辑导出数据,生成sql文件或其他格式文件。
pg_dump是一个客户端工具,可以远程或本地导出逻辑数据,恢复数据至导出时间点。 pg_dump只能备份一个数据库。
pg_dump 一次只转储一个数据库,并不会转储有关角色或表空间的信息 (因为那些是群集范围而不是每个数据库)。
pg_dump 把一个数据库转储为纯文本文件或者是其它格式。

用法:

pg_dump [选项]... [数据库名字]

pgsql数据库导出表数据

./pg_dump -h localhost -p 5432 -U postgres data_dt -t public.sys_log --inserts >/data/mysql.sql

一般选项:

-f, --file=文件名        输出文件名   
-F, --format=c|t|p      输出文件格式 (定制,tar, 明文)   
-v, --verbose          详细模式   
-Z, --compress=0-9      被压缩格式的压缩级别 
--lock-wait-timeout=TIMEOUT 在等待表锁超时后操作失败   
--help                      显示此帮助信息,然后退出   
--versoin                  输出版本信息,然后退出

控制输出内容选项:

-a, --data-only        只转储数据,不包括模式   
-b, --blobs            在转储中包括大对象   
-c, --clean            在重新创建之前,先清除(删除)数据库对象   
-C, --create            在转储中包括命令,以便创建数据库   
-E, --encoding=ENCODING    转储以ENCODING形式编码的数据   
-n, --schema=SCHEMA      只转储指定名称的模式   
-N,--exclude-schema=SCHEMA    不转储已命名的模式   
-o, --oids              在转储中包括OID   
-O, --no-owner          在明文格式中,忽略恢复对象所属者   
-s, --schema-only      只转储模式,不包括数据   
-S, --superuser=NAME    在转储中, 指定的超级用户名   
-t, --table=TABLE      只转储指定名称的表   
-T, --exclude-table=TABLE      只转储指定名称的表   
-x, --no-privileges      不要转储权限 (grant/revoke)   
--binary-upgrade        只能由升级工具使用   
--inserts                以INSERT命令,而不是COPY命令的形式转储数据   
--column-inserts        以带有列名的INSERT命令形式转储数据   
--disable-dollar-quoting    取消美元 (符号)引号, 使用 SQL 标准引号   
--disable-triggers        在只恢复数据的过程中禁用触发器   
--no-tablespaces          不转储表空间分配信息   
--role=ROLENAME        在转储前运行SETROLE 
--use-set-session-authorization    使用 SESSION AUTHORIZATION 命令代替                           ALTER OWNER 命令来设置所有权 联接选项:

连接选项:

  -h, --host=主机名        数据库服务器的主机名或套接字目录
  -p, --port=端口号        数据库服务器的端口号
  -U, --username=名字      以指定的数据库用户联接
  -w, --no-password       永远不提示输入口令
  -W, --password          强制口令提示 (自动)

参考文章

1. [pgsql在linux导入导出数据](https://blog.csdn.net/zhuocr/article/details/56479966)
2.[POSTGRESQL 数据库导入导出](https://blog.csdn.net/justlpf/article/details/91789787?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_title~default-0-91789787-blog-83015192.pc_relevant_multi_platform_whitelistv2&spm=1001.2101.3001.4242.1&utm_relevant_index=3)
Linux环境下,你可以使用以下步骤通过pg_dump导出PostgreSQL数据库中某个表的数据,并在测试完毕后将数据导回表中: 1. 确保你已经安装了PostgreSQL数据库和相应的客户端工具。 2. 打开终端并使用具有适当权限的用户登录到Linux系统。 3. 连接到PostgreSQL数据库。你可以使用以下命令之一(取决于你的配置): * 使用pg_dump命令导出数据: ``` bash`pg_dump -U <用户名> -d <数据库名> -n <表名> -f <输出文件路径>` ``` 将 `<用户名>` 替换为你的PostgreSQL用户名,`<数据库名>` 替换为你要导出数据数据库名称,`<表名>` 替换为要导出的表名,`<输出文件路径>` 替换为你希望保存导出数据文件的路径和文件名。 * 或者,你可以使用psql命令连接到数据库并执行类似的操作: ``` bash`psql -U <用户名> -d <数据库名> -c "SELECT pg_dumpall()" | grep <表名> | grep -v '/--table' > <输出文件路径>` ``` 这将执行全量的pg_dump并将符合条件的表数据导出到指定的文件中。 4. 在导出数据后,你可以进行测试操作,例如运行一些查询或修改数据等。 5. 一旦测试完毕,你可以使用以下步骤将导出数据导入到原来的表中: * 使用psql命令连接到PostgreSQL数据库。 * 使用以下命令将导出数据导入到表中: ``` sql`COPY <表名> FROM <输出文件路径> DELIMITER ',' NULL ''` ``` 将 `<表名>` 替换为要导入数据的表名,`<输出文件路径>` 替换为导出数据文件的路径和文件名。这将使用指定的分隔符将数据逐行导入到表中。 6. 完成上述步骤后,你应该能够成功地将导出数据导入到原来的表中。请确保在执行这些操作时使用正确的用户凭据和权限,并且已正确连接到PostgreSQL数据库。 请注意,这些步骤是基于标准的PostgreSQL导出和导入操作。具体的命令和选项可能因你的环境和配置而有所不同。建议参考PostgreSQL的官方文档以获取更详细的信息和更新的命令语法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值