在pgAdmin中将整个数据库(其结构和数据)复制到新数据库的正确方法是什么?
当前回答
在pgAdmin中将整个数据库(其结构和数据)复制到新数据库的正确方法是什么?
答覆:
CREATE DATABASE newdb WITH TEMPLATE originaldb;
经过尝试和测试。
其他回答
在原始数据库处于流量状态的生产环境中,我只使用:
pg_dump production-db | psql test-db
PostgreSQL 9.1.2:
$ CREATEDB new_db_name -T orig_db_name -O db_user;
如果数据库具有打开的连接,则此脚本可能会有所帮助。我每天晚上都用这个从实时生产数据库的备份中创建一个测试数据库。这假设您有一个来自生产数据库的.SQL备份文件(我在webmin中执行此操作)。
#!/bin/sh
dbname="desired_db_name_of_test_enviroment"
username="user_name"
fname="/path to /ExistingBackupFileOfLive.sql"
dropdbcmp="DROP DATABASE $dbname"
createdbcmd="CREATE DATABASE $dbname WITH OWNER = $username "
export PGPASSWORD=MyPassword
echo "**********"
echo "** Dropping $dbname"
psql -d postgres -h localhost -U "$username" -c "$dropdbcmp"
echo "**********"
echo "** Creating database $dbname"
psql -d postgres -h localhost -U "$username" -c "$createdbcmd"
echo "**********"
echo "** Loading data into database"
psql -d postgres -h localhost -U "$username" -d "$dbname" -a -f "$fname"
第4页管理:
1.选择要复制的数据库并断开连接
右键单击“断开DB”
2.在旧数据库旁边创建新数据库:
给它起个名字。在“定义”选项卡中,选择第一个表格作为模板(下拉菜单)
点击create,然后左键单击新数据库以重新连接。
贝尔回答的命令行版本:
createdb -O ownername -T originaldb newdb
这应该在数据库主机(通常是postgres)的权限下运行。
推荐文章
- django test app error -在创建测试数据库时出现错误:创建数据库的权限被拒绝
- Postgres唯一约束与索引
- 使用电子邮件地址为主键?
- 选择postgres中字段的数据类型
- 如何在PostgreSQL中查看视图的CREATE VIEW代码?
- 错误:没有唯一的约束匹配给定的键引用表"bar"
- 如何使用新的PostgreSQL JSON数据类型中的字段进行查询?
- 如何彻底清除和重新安装postgresql在ubuntu?
- 分组限制在PostgreSQL:显示每组的前N行?
- IN与PostgreSQL中的ANY运算符
- PSQLException:当前事务被中止,命令被忽略,直到事务块结束
- 添加布尔列到表集默认
- 库未加载:/usr/local/opt/readline/lib/libreadline.6.2.dylib
- 为什么我们需要像RabbitMQ这样的消息代理而不是像PostgreSQL这样的数据库?
- 在PostgreSQL表已经创建后,我可以添加UNIQUE约束吗?