导出数据库的CREATE脚本

时间:2011-05-16 22:19:39

标签: sql database postgresql

假设我在pgAdmin中创建了一个数据库,但我想导出一个CREATE sql文件。

我如何开始生成转储?

5 个答案:

答案 0 :(得分:114)

以下是如何使用pgAdmin创建可与PostgreSql数据库架构比较工具(如apgdiff)一起使用的架构脚本。这些说明适用于pgAdmin3。

  1. 在pgAdmin中,右键单击数据库,然后单击“备份”。
  2. 输入适当的路径和文件名(即/some/path/my_script.sql)。
  3. 选择Plain作为格式下拉列表中的格式。
  4. 转到转储选项#1 标签,然后选中“仅架构”。
  5. 然后单击“备份”。然后单击“完成”。
  6. 注意:是的,我知道pgAdmin在后台使用pg_dump创建脚本,但问题是关于pgAdmin,所以这是GUI方法。

答案 1 :(得分:50)

要生成一个sql脚本,它将创建给定数据库中存在的表,请执行以下操作:

pg_dump --schema-only --no-owner the_database > create_the_tables.sql

这将为您提供一堆create table语句。只是为了看看它有多便携,我尝试了以下内容:

bvm$ pg_dump -s --no-owner devdb | sqlite3 so_ans.db

然后:

bvm$ sqlite3 so_ans.db .schema
CREATE TABLE courses (
    id integer NOT NULL,
    name text,
    created_by integer,
    jc text
);

有点酷。

答案 2 :(得分:22)

然而,pgAdmin确实有能力做你想做的事情:

右键单击要导出的数据库

从弹出菜单中选择备份

选择“格式”普通。

选择“普通选项”仅架构

答案 3 :(得分:3)

你可以通过phpPgAdmin实现这一点,就像phpMyAdmin for MySQL一样。

登录phpPgAdmin选择数据库,然后选择导出。

答案 4 :(得分:-2)

至少在PgAdmin III 1.22.1中,您可以获得CREATE脚本: 1)右键单击表名 2)“脚本” - > “创建脚本” 有选项可以获得SELECT,DELETE等。