- 浏览: 44379 次
文章分类
最新评论
一、pg_dump的用法:
数据库的导入导出是最常用的功能之一,每种数据库都提供有这方面的工具,例如Oracle的exp/imp,Informix的dbexp/dbimp,MySQL的mysqldump,而PostgreSQL提供的对应工具为pg_dump和pg_restore。
pg_dump是用于备份PostgreSQL数据库的工具。它可以在数据库正在使用的时候进行完整一致的备份,并不阻塞其它用户对数据库的访问。
转储格式可以是一个脚本或者归档文件。转储脚本的格式是纯文本,包含许多SQL命令,这些SQL命令可以用于重建该数据库并将之恢复到保存脚本时的状态。可以使用 psql从这样的脚本中恢复。它们甚至可以用于在其它机器甚至是其它硬件体系的机器上重建数据库,通过对脚本进行一些修改,甚至可以在其它SQL数据库产品上重建数据库。
归档文件格式必须和pg_restore一起使用重建数据库。它们允许pg_restore对恢复什么东西进行选择,甚至是在恢复之前对需要恢复的条目进行重新排序。归档文件也是可以跨平台移植的。
D:\Program Files\PowerCmd>pg_dump --help
pg_dump 把一个数据库转储为纯文本文件或者是其它格式.
用法: pg_dump [选项]... [数据库名字]
一般选项:
-f, --file=FILENAME output file or directory name
-F, --format=c|d|t|p output file format (custom, directory, tar, plain text)
-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 只能由升级工具使用
--column-inserts 以带有列名的INSERT命令形式转储数据
--disable-dollar-quoting 取消美元 (符号) 引号, 使用 SQL 标准引号
--disable-triggers 在只恢复数据的过程中禁用触发器
--inserts 以INSERT命令,而不是COPY命令的形式转储数据
--no-security-labels do not dump security label assignments
--no-tablespaces 不转储表空间分配信息
--no-unlogged-table-data do not dump unlogged table data
--quote-all-identifiers quote all identifiers, even if not key words
--serializable-deferrable wait until the dump can run without anomalies
--use-set-session-authorization
使用 SESSION AUTHORIZATION 命令代替ALTER OWNER 命令来设置所有权
联接选项:
-h, --host=主机名 数据库服务器的主机名或套接字目录
-p, --port=端口号 数据库服务器的端口号
-U, --username=名字 以指定的数据库用户联接
-w, --no-password 永远不提示输入口令
-W, --password 强制口令提示 (自动)
--role=ROLENAME do SET ROLE before dump
如果没有提供数据库名字, 那么使用 PGDATABASE 环境变量的数值.
二、pg_dump的使用实例
1、创建两个数据库
CREATE DATABASE "TestDb1"
WITH OWNER = "TestRole1"
ENCODING = 'UTF8'
TABLESPACE = "TestTbs1";
CREATE DATABASE "TestDb2"
WITH OWNER = "TestRole1"
ENCODING = 'UTF8'
TABLESPACE = "TestTbs1";
在TestDb1中创建表csm_bill、cfg_public_int_transport插入几条记录,并创建索引,索引使用索引表空间TestTbsIndex。
2、仅迁移数据库结构:
E:\>pg_dump -U TestRole1 -s -f TestDb1.sql TestDb1
口令:
-U TestRole1和超级用户-U postgres结果完全相同:
E:\>pg_dump -U postgres -s -f TestDb11.sql TestDb1
E:\>psql -U TestRole2 -f TestDb1.sql TestDb2 >a.txt 2>&1
用户 TestRole2 的口令:
导入时,使用-U TestRole2往往有很多权限不够,要想成功导入需要修改相关数据库对象的属主,所以最好使用超级用户-U postgres:
E:\>psql -U postgres -f TestDb1.sql TestDb2 >a.txt 2>&1
不转储权限选项:-x
E:\>pg_dump -U postgres -x -s -f TestDb12.sql TestDb1
TestDb12.sql比TestDb1.sql少了一下几行:
为了可以多次运行TestDb1.sql,可以在文件开始加以下两行:
drop schema public cascade;
create schema public;
或者使用-c选项:
E:\>pg_dump -U postgres -c -x -s -f TestDb13.sql TestDb1
TestDb13.sql比TestDb1.sql多以下几行:
此时,可以多次运行:
E:\>psql -U postgres -f TestDb13.sql TestDb2 >a.txt 2>&1
但是,如果两个库有不同的表或索引,应该使用第一种方法,因为第二种方法在找不到某些数据库对象时会报错。
3、迁移数据库结构和数据(可以实现数据库的备份与恢复)
数据的复制使用copy命令:
E:\>pg_dump -U postgres TestDb1>TestDb14.sql
数据的复制使用insert语句:
E:\>pg_dump -U postgres --column-inserts TestDb1>TestDb15.sql
4、把远程linux上PostgreSQL上的cpost数据库结构迁移至本地PostgreSQL
(1)在本地建一个完全相同的环境
create user "cpost" inherit createdb;
create tablespace "pis_data" owner cpost location 'E:\PostgreSQL/data/pis_data';
create tablespace "pis_index" owner cpost location 'E:\PostgreSQL/data/pis_index';
远程数据库cpost仍使用了默认表空间:
CREATE DATABASE cpost
WITH OWNER = cpost
--ENCODING = 'LATIN9'
TABLESPACE = pg_default
--LC_COLLATE = 'C'
--LC_CTYPE = 'C'
CONNECTION LIMIT = -1;
使用以上三个参数报错,建成后的数据库如下:
CREATE DATABASE cpost
WITH OWNER = cpost
ENCODING = 'UTF8'
TABLESPACE = pg_default
LC_COLLATE = 'Chinese (Simplified)_People''s Republic of China.936'
LC_CTYPE = 'Chinese (Simplified)_People''s Republic of China.936'
CONNECTION LIMIT = -1;
(2)使用pg_dump迁移表结构
使用-h选项,使导出的sql文件直接存放在本地:
E:\>pg_dump -h 132.10.10.11 -p 1234 -U cpost -x -s -f cpost.sql cpost
E:\>psql -U postgres -f cpost.sql
导入成功,但报了一个错误:
psql:cpost.sql:22: ERROR: character 0xe99499 of encoding "UTF8" has no equivalent in "LATIN9"
字符集错误,字符集问题详见我的另一篇blog:由PostgreSQL的区域与字符集说起
三、使用pg_dump和pg_restore实现数据库的备份与恢复
E:\>pg_restore --help
pg_restore 从一个归档中恢复一个由 pg_dump 创建的 PostgreSQL 数据库.
用法:
pg_restore [选项]... [文件名]
一般选项:
-d, --dbname=名字 连接数据库名字
-f, --file=文件名 输出文件名
-F, --format=c|d|t backup file format (should be automatic)
-l, --list 打印归档文件的 TOC 概述
-v, --verbose 详细模式
--help 显示此帮助信息, 然后退出
--version 输出版本信息, 然后退出恢复控制选项:
-a, --data-only 只恢复数据, 不包括模式
-c, --clean 在重新创建数据库对象之前需要清除(删除)数据库对象
-C, --create 创建目标数据库
-e, --exit-on-error 发生错误退出, 默认为继续
-I, --index=名称 恢复指定名称的索引
-j, --jobs=NUM 可以执行多个任务并行进行恢复工作
-L, --use-list=文件名 从这个文件中使用指定的内容表排序输出
-n, --schema=NAME 在这个模式中只恢复对象
-O, --no-owner 忽略恢复对象所属者
-P, --function=名字(参数) 恢复指定名字的函数
-s, --schema-only 只恢复模式, 不包括数据
-S, --superuser=NAME 使用指定的超级用户来禁用触发器
-t, --table=NAME 恢复指定命字的表
-T, --trigger=NAME 恢复指定命字的触发器
-x, --no-privileges 跳过处理权限的恢复 (grant/revoke)
-1, --single-transaction 作为单个事务恢复
--disable-triggers 在只恢复数据的过程中禁用触发器
--no-data-for-failed-tables 没有恢复无法创建表的数据
--no-security-labels do not restore security labels
--no-tablespaces 不恢复表空间的分配信息
--use-set-session-authorization 使用 SESSION AUTHORIZATION 命令代替ALTER OWNER命令来设置对象所有权
联接选项:
-h, --host=主机名 数据库服务器的主机名或套接字目录
-p, --port=端口号 数据库服务器的端口号
-U, --username=名字 以指定的数据库用户联接
-w, --no-password 永远不提示输入口令
-W, --password 强制口令提示 (自动)
--role=ROLENAME 在恢复前执行SET ROLE操作
如果没有提供输入文件名, 则使用标准输入.
1、使用dump格式备份和恢复:
E:\>pg_dump -U postgres -Fc TestDb1 >TestDb1.dump
postgres=# drop database "TestDb2";
DROP DATABASE
postgres=# create database "TestDb2"
postgres-# with owner="TestRole2"
postgres-# tablespace="TestTbs2";
CREATE DATABASE
E:\>pg_restore -U postgres -d TestDb2 TestDb1.dump >a.txt 2>&1
2、使用tar格式备份和恢复:
E:\>pg_dump -U postgres -Ft TestDb1>TestDb1.tar
postgres=# drop database "TestDb2";
DROP DATABASE
postgres=# create database "TestDb2"
postgres-# with owner="TestRole2"
postgres-# tablespace="TestTbs2";
CREATE DATABASE
E:\>pg_restore -U postgres -d TestDb2 TestDb1.tar >a.txt 2>&1
http://blog.chinaunix.net/uid-354915-id-3504632.html
数据库的导入导出是最常用的功能之一,每种数据库都提供有这方面的工具,例如Oracle的exp/imp,Informix的dbexp/dbimp,MySQL的mysqldump,而PostgreSQL提供的对应工具为pg_dump和pg_restore。
pg_dump是用于备份PostgreSQL数据库的工具。它可以在数据库正在使用的时候进行完整一致的备份,并不阻塞其它用户对数据库的访问。
转储格式可以是一个脚本或者归档文件。转储脚本的格式是纯文本,包含许多SQL命令,这些SQL命令可以用于重建该数据库并将之恢复到保存脚本时的状态。可以使用 psql从这样的脚本中恢复。它们甚至可以用于在其它机器甚至是其它硬件体系的机器上重建数据库,通过对脚本进行一些修改,甚至可以在其它SQL数据库产品上重建数据库。
归档文件格式必须和pg_restore一起使用重建数据库。它们允许pg_restore对恢复什么东西进行选择,甚至是在恢复之前对需要恢复的条目进行重新排序。归档文件也是可以跨平台移植的。
D:\Program Files\PowerCmd>pg_dump --help
pg_dump 把一个数据库转储为纯文本文件或者是其它格式.
用法: pg_dump [选项]... [数据库名字]
一般选项:
-f, --file=FILENAME output file or directory name
-F, --format=c|d|t|p output file format (custom, directory, tar, plain text)
-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 只能由升级工具使用
--column-inserts 以带有列名的INSERT命令形式转储数据
--disable-dollar-quoting 取消美元 (符号) 引号, 使用 SQL 标准引号
--disable-triggers 在只恢复数据的过程中禁用触发器
--inserts 以INSERT命令,而不是COPY命令的形式转储数据
--no-security-labels do not dump security label assignments
--no-tablespaces 不转储表空间分配信息
--no-unlogged-table-data do not dump unlogged table data
--quote-all-identifiers quote all identifiers, even if not key words
--serializable-deferrable wait until the dump can run without anomalies
--use-set-session-authorization
使用 SESSION AUTHORIZATION 命令代替ALTER OWNER 命令来设置所有权
联接选项:
-h, --host=主机名 数据库服务器的主机名或套接字目录
-p, --port=端口号 数据库服务器的端口号
-U, --username=名字 以指定的数据库用户联接
-w, --no-password 永远不提示输入口令
-W, --password 强制口令提示 (自动)
--role=ROLENAME do SET ROLE before dump
如果没有提供数据库名字, 那么使用 PGDATABASE 环境变量的数值.
二、pg_dump的使用实例
1、创建两个数据库
CREATE DATABASE "TestDb1"
WITH OWNER = "TestRole1"
ENCODING = 'UTF8'
TABLESPACE = "TestTbs1";
CREATE DATABASE "TestDb2"
WITH OWNER = "TestRole1"
ENCODING = 'UTF8'
TABLESPACE = "TestTbs1";
在TestDb1中创建表csm_bill、cfg_public_int_transport插入几条记录,并创建索引,索引使用索引表空间TestTbsIndex。
2、仅迁移数据库结构:
E:\>pg_dump -U TestRole1 -s -f TestDb1.sql TestDb1
口令:
-U TestRole1和超级用户-U postgres结果完全相同:
E:\>pg_dump -U postgres -s -f TestDb11.sql TestDb1
E:\>psql -U TestRole2 -f TestDb1.sql TestDb2 >a.txt 2>&1
用户 TestRole2 的口令:
导入时,使用-U TestRole2往往有很多权限不够,要想成功导入需要修改相关数据库对象的属主,所以最好使用超级用户-U postgres:
E:\>psql -U postgres -f TestDb1.sql TestDb2 >a.txt 2>&1
不转储权限选项:-x
E:\>pg_dump -U postgres -x -s -f TestDb12.sql TestDb1
TestDb12.sql比TestDb1.sql少了一下几行:
为了可以多次运行TestDb1.sql,可以在文件开始加以下两行:
drop schema public cascade;
create schema public;
或者使用-c选项:
E:\>pg_dump -U postgres -c -x -s -f TestDb13.sql TestDb1
TestDb13.sql比TestDb1.sql多以下几行:
此时,可以多次运行:
E:\>psql -U postgres -f TestDb13.sql TestDb2 >a.txt 2>&1
但是,如果两个库有不同的表或索引,应该使用第一种方法,因为第二种方法在找不到某些数据库对象时会报错。
3、迁移数据库结构和数据(可以实现数据库的备份与恢复)
数据的复制使用copy命令:
E:\>pg_dump -U postgres TestDb1>TestDb14.sql
数据的复制使用insert语句:
E:\>pg_dump -U postgres --column-inserts TestDb1>TestDb15.sql
4、把远程linux上PostgreSQL上的cpost数据库结构迁移至本地PostgreSQL
(1)在本地建一个完全相同的环境
create user "cpost" inherit createdb;
create tablespace "pis_data" owner cpost location 'E:\PostgreSQL/data/pis_data';
create tablespace "pis_index" owner cpost location 'E:\PostgreSQL/data/pis_index';
远程数据库cpost仍使用了默认表空间:
CREATE DATABASE cpost
WITH OWNER = cpost
--ENCODING = 'LATIN9'
TABLESPACE = pg_default
--LC_COLLATE = 'C'
--LC_CTYPE = 'C'
CONNECTION LIMIT = -1;
使用以上三个参数报错,建成后的数据库如下:
CREATE DATABASE cpost
WITH OWNER = cpost
ENCODING = 'UTF8'
TABLESPACE = pg_default
LC_COLLATE = 'Chinese (Simplified)_People''s Republic of China.936'
LC_CTYPE = 'Chinese (Simplified)_People''s Republic of China.936'
CONNECTION LIMIT = -1;
(2)使用pg_dump迁移表结构
使用-h选项,使导出的sql文件直接存放在本地:
E:\>pg_dump -h 132.10.10.11 -p 1234 -U cpost -x -s -f cpost.sql cpost
E:\>psql -U postgres -f cpost.sql
导入成功,但报了一个错误:
psql:cpost.sql:22: ERROR: character 0xe99499 of encoding "UTF8" has no equivalent in "LATIN9"
字符集错误,字符集问题详见我的另一篇blog:由PostgreSQL的区域与字符集说起
三、使用pg_dump和pg_restore实现数据库的备份与恢复
E:\>pg_restore --help
pg_restore 从一个归档中恢复一个由 pg_dump 创建的 PostgreSQL 数据库.
用法:
pg_restore [选项]... [文件名]
一般选项:
-d, --dbname=名字 连接数据库名字
-f, --file=文件名 输出文件名
-F, --format=c|d|t backup file format (should be automatic)
-l, --list 打印归档文件的 TOC 概述
-v, --verbose 详细模式
--help 显示此帮助信息, 然后退出
--version 输出版本信息, 然后退出恢复控制选项:
-a, --data-only 只恢复数据, 不包括模式
-c, --clean 在重新创建数据库对象之前需要清除(删除)数据库对象
-C, --create 创建目标数据库
-e, --exit-on-error 发生错误退出, 默认为继续
-I, --index=名称 恢复指定名称的索引
-j, --jobs=NUM 可以执行多个任务并行进行恢复工作
-L, --use-list=文件名 从这个文件中使用指定的内容表排序输出
-n, --schema=NAME 在这个模式中只恢复对象
-O, --no-owner 忽略恢复对象所属者
-P, --function=名字(参数) 恢复指定名字的函数
-s, --schema-only 只恢复模式, 不包括数据
-S, --superuser=NAME 使用指定的超级用户来禁用触发器
-t, --table=NAME 恢复指定命字的表
-T, --trigger=NAME 恢复指定命字的触发器
-x, --no-privileges 跳过处理权限的恢复 (grant/revoke)
-1, --single-transaction 作为单个事务恢复
--disable-triggers 在只恢复数据的过程中禁用触发器
--no-data-for-failed-tables 没有恢复无法创建表的数据
--no-security-labels do not restore security labels
--no-tablespaces 不恢复表空间的分配信息
--use-set-session-authorization 使用 SESSION AUTHORIZATION 命令代替ALTER OWNER命令来设置对象所有权
联接选项:
-h, --host=主机名 数据库服务器的主机名或套接字目录
-p, --port=端口号 数据库服务器的端口号
-U, --username=名字 以指定的数据库用户联接
-w, --no-password 永远不提示输入口令
-W, --password 强制口令提示 (自动)
--role=ROLENAME 在恢复前执行SET ROLE操作
如果没有提供输入文件名, 则使用标准输入.
1、使用dump格式备份和恢复:
E:\>pg_dump -U postgres -Fc TestDb1 >TestDb1.dump
postgres=# drop database "TestDb2";
DROP DATABASE
postgres=# create database "TestDb2"
postgres-# with owner="TestRole2"
postgres-# tablespace="TestTbs2";
CREATE DATABASE
E:\>pg_restore -U postgres -d TestDb2 TestDb1.dump >a.txt 2>&1
2、使用tar格式备份和恢复:
E:\>pg_dump -U postgres -Ft TestDb1>TestDb1.tar
postgres=# drop database "TestDb2";
DROP DATABASE
postgres=# create database "TestDb2"
postgres-# with owner="TestRole2"
postgres-# tablespace="TestTbs2";
CREATE DATABASE
E:\>pg_restore -U postgres -d TestDb2 TestDb1.tar >a.txt 2>&1
http://blog.chinaunix.net/uid-354915-id-3504632.html
发表评论
-
Oracle中表建立联合索引后,其中的一个字段是否可以用来进行索引
2014-05-06 08:40 37651、表的主键、外键必须有索引;2、数据量超过300的表应该有索 ... -
序列使用cache值的缺陷
2014-04-29 09:13 2044列cache的默认值是20,使用cache的好处是:可以加快 ... -
Oracle重建索引 约束
2014-04-28 17:01 1141rebuild索引 alter index indexn ... -
预算预算
2014-03-19 12:42 01.地板 2.墙面 3.厨具 4.卫生间 5.灯 ... -
Oracle语法
2014-03-13 10:59 1060***************** 文件操作命令 *** ... -
Oracle索引失效的原因
2014-03-10 14:57 540容易引起oracle索引失效的原因很多: 1、在索引列上使 ... -
Oracle操作
2014-03-04 09:18 533Oracle 启动监听命令 启动监听:lsnrctl st ... -
压力测试瓶颈分析
2014-03-03 17:25 6691. 数据库连接池 初始:8 ... -
PostgreSQL常用数据类型
2014-02-12 12:29 3726一、数值类型 名字 ... -
Oracle的SQL的中文排序
2014-01-08 14:26 717在oracle 9i之前,对中文的排序,是默认按2进制编码来进 ... -
Oracle数据库导入文本数据
2014-01-08 10:04 763==migrate.par== userid=xxdb/xxd ... -
PostgreSQL杀掉长时间执行查询的sql
2013-12-12 15:00 1839找出超长时的查询,并安全取消的方法。 一、找到长时间执行的 ... -
PostgreSQL重启
2013-12-11 10:11 1508重启数据库 server_ctl.sh "-m fa ... -
PostgreSQL数据库备份脚本
2013-12-05 10:44 580数据库备份shell脚本(.sh): #!/bin/bash ... -
PostgreSQL安装
2013-12-05 09:47 689该服务器需要有 pgsql 用户和组 服务器内核配置: / ...
相关推荐
mysql2postgresql, 转换mysql模式到 PostgreSQL mysql2postgresql转换mysql模式和数据到 PostgreSQL用法使用命令在xml格式中创建转储: mysqldump --xml -u USER_NAME DB_NAME> DUMP_FILE_NAME
并且,因为许可证的灵活,任何人都可以以任何目的免费使用,修改,和分发 PostgreSQL, 不管是私用,商用,还是学术研究使用。 符合ANSI SQL 92和ANSI SQL 99标准,是目前功能最强、最稳定的开放源代码数据库...
使用以下命令以xml格式创建转储: mysqldump --xml -u USER_NAME DB_NAME > DUMP_FILE_NAME 使用以下命令运行转换器: php convertor.php -i DUMP_FILE_NAME -o PSQL_FILE_NAME 其他选项 -b50设置批次计数(用于...
在调用rake db:structure:dump时,明确定义要在Rails db/structure.sql文件中转储的PostgreSQL模式。 此功能将包含在Rails的5,但这种宝石反向移植此功能的Rails 3个Rails 4幸得为为Rails 5。 安装 将此行添加到您...
用法 rake db:dump 如果没有参数,任务会将当前数据库转储到标准输出。 传递TABLE_NAME环境变量以转储单个表: rake db:dump TABLE_NAME=locations 还有一个对称任务rake db:restore ,它可以从标准输入中还原...
slicedb dump --root public.example ' WHERE id IN (7, 56, 234) ' --schema schema.yml > slice.zip 第三,将该片还原到另一个数据库中: slicedb restore < slice nPGHOST=myhost> slice.yml 倾倒 输出类型 ...
用法 通过提供连接字符串和输出文件名运行此命令(由于npx无需首先安装): npx pg-anonymizer postgres://user:secret@localhost:1234/mydb -o dump.sql :index_pointing_up: 此命令需要pg_dump 。 安装...
用法 $ pg_dump -h postgreshost -f mydb.sql mydb $ perl roachize.pl --source mydb.sql --dest mydb_for_cockroach.sql $ psql -h localhost -U root -p 26257 root=> create database mydb; \q $ psql -h ...
用法通过提供连接字符串和输出文件名(无需安装,要感谢npx)来运行此命令:npx pg-anonymizer postgres:// user:[受电子邮件保护]:1234 / mydb -o dump.sql:index_pointing_up:This命令需要pg_dump。 安装...
当前支持的数据库: MySQL的PostgreSQL命令用法/path/to/time2dump.sh [GLOBAL_OPTIONS] [COMMAND] [OPTIONS]执照time2dump是根据MIT许可授权的。有关完整的许可证文本,请参阅 。学分作者:Jean Prunneaux 源代码:...
根据需要对集群中的 PostgreSQL 数据库执行备份 (pg_dump*)。 对于某些数据库集群,可能存在以下数据库: 很少更新/更改,因此不需要像那些经常更改/更新的数据库那样频繁地转储。 足够大以至于不需要时倾倒它们...
产品特点分区特定的数据库操作的迁移方法查询分区数据,创建临时分区和获取分区元数据的模型方法局限性分区表在db/schema.rb表示不正确-请使用:sql模式格式未来的工作自动分区创建(通过cron或其他方式)安装将此行...
tcpdp具有3种模式: TCP代理服务器模式探测模式(使用libpcap) 读取pcap文件模式用法tcpdp proxy :TCP代理服务器模式$ tcpdp proxy -l localhost:12345 -r localhost:1234 -d hex # hex.Dump() $ tcpdp proxy -l ...
dr:提供用于布置表列顺序的工具,以优化ActiveRecord迁移和pg_dump生成SQL模式文件中的磁盘空间使用。 概述和有关PostgreSQL内部原理在进行了描述。 安装 将此行添加到您的应用程序的Gemfile中: gem 'pg_column_...
将数据从一个Postgres数据库同步到另一个数据库(例如pg_dump / pg_restore )。 设计用于: 速度-表格并行传输 安全性-防止敏感数据离开服务器的内置方法 灵活性-优雅地处理架构差异,例如缺少列和多余的列 便利...
Heroku DB CLI 插件 这是一个 Heroku Toolbelt CLI 插件,用于与DATABASE_URL上的数据库进行交互。...$ heroku db:restore postgresql://user:host@localhost:5432/dbname foo-application.dump 支持的数据库 目前仅支
它使用pg_dump , mysqldump或mongodump并添加: 安装过程简单互动配置无Cron标签编辑使用公钥/私钥对进行加密流上传到AWS S3 备份还原过程Docker兼容性上次备份时间超过30天时通过电子邮件提醒适用于没有临时文件...
SQL Graphviz SQL Graphviz是一个小型python 3脚本,可生成SQL模式转储的可视化。 依存关系 SQL Graphviz依靠来进行模式转储。...例如,使用PostgreSQL生成为PNG文件: $ pg_dump --schema-only dbname | python s
NodeJs-WebApp-Api-JWT ... 如果要复制和运行项目,则必须首先根据自己的工作环境来组织dump-baseDb.sql文件中的命令,然后运行命令并创建必要的数据库。 您可以使用登录名: 电邮: 密码:admin
岗位人力资源 以理智的方式管理Postgres角色。安装npm i -g postgres-hr用法 postgres-hrUI可以在要在其他端口上运行接口,请设置PORT环境变量。... 界面在这里可用: : 仅使用PostgreSQL 11.9进行了手动测试。