生成 PostgreSQL 测试数据(无需代码,逐步)

发布: (2026年1月11日 GMT+8 10:30)
5 min read
原文: Dev.to

Source: Dev.to

第一步:前往仪表板

访问 ddltodata.com 并滚动到交互式演示。
您会看到一个预填示例模式的代码编辑器。使用它进行测试,或粘贴您自己的代码。

步骤 2:粘贴您的 PostgreSQL 架构

将示例替换为您的 CREATE TABLE 语句:

CREATE TABLE products (
  id SERIAL PRIMARY KEY,
  name VARCHAR(100) NOT NULL,
  description TEXT,
  price DECIMAL(10,2),
  category VARCHAR(50),
  sku VARCHAR(20) UNIQUE,
  in_stock BOOLEAN DEFAULT true,
  created_at TIMESTAMP DEFAULT NOW()
);

仪表板接受标准的 PostgreSQL DDL 语法,包括:

  • 多个 CREATE TABLE 语句
  • 外键关系
  • 约束(NOT NULLUNIQUEDEFAULT
  • 所有常见的 PostgreSQL 数据类型

第 3 步:点击 “生成测试数据”

点击生成按钮。几毫秒后,你会看到真实感的数据:

[
  {
    "id": 1,
    "name": "Wireless Bluetooth Headphones",
    "description": "Premium noise-canceling headphones with 30-hour battery life",
    "price": 149.99,
    "category": "Electronics",
    "sku": "WBH-2024-001",
    "in_stock": true,
    "created_at": "2024-03-15T09:23:41"
  },
  {
    "id": 2,
    "name": "Ergonomic Office Chair",
    "description": "Adjustable lumbar support with breathable mesh back",
    "price": 299.00,
    "category": "Furniture",
    "sku": "EOC-2024-042",
    "in_stock": true,
    "created_at": "2024-03-14T14:56:12"
  }
]

注意以下几点:

  • name 包含真实的产品名称
  • description 提供合理的产品描述
  • price 为合适的小数值
  • sku 符合真实的 SKU 格式
  • category 包含相应的类别名称

所有这些均由列名自动推断。

第4步:选择您的格式

使用格式切换在以下之间切换:

  • JSON – 用于 API、JavaScript、以及大多数现代应用
  • CSV – 用于电子表格、数据导入、Excel
  • SQL – 为 PostgreSQL 准备的可直接运行的 INSERT 语句

SQL 输出示例

INSERT INTO products (id, name, description, price, category, sku, in_stock, created_at) VALUES
(1, 'Wireless Bluetooth Headphones', 'Premium noise-canceling headphones with 30-hour battery life', 149.99, 'Electronics', 'WBH-2024-001', true, '2024-03-15T09:23:41'),
(2, 'Ergonomic Office Chair', 'Adjustable lumbar support with breathable mesh back', 299.00, 'Furniture', 'EOC-2024-042', true, '2024-03-14T14:56:12');

复制并粘贴到 psql 或您的 PostgreSQL 客户端中。

第5步:下载或复制

  • 复制 – 点击复制到剪贴板
  • 下载 – 保存为文件

就这样——在 60 秒内生成真实的测试数据。

使用多个表

仪表板能够处理带有外键的多表模式:

CREATE TABLE categories (
  id SERIAL PRIMARY KEY,
  name VARCHAR(50) NOT NULL
);

CREATE TABLE products (
  id SERIAL PRIMARY KEY,
  category_id INTEGER REFERENCES categories(id),
  name VARCHAR(100) NOT NULL,
  price DECIMAL(10,2)
);

生成的数据保持引用完整性——products 中的每个 category_id 都引用 categories 中的有效 id

保存您的模式(可选)

创建免费账户以:

  • 存储模式 – 随时访问,无需重新粘贴
  • 生成更多数据 – 每月免费 50 000 行
  • 获取 API 密钥 – 用于自动化(参见 API 指南

常见使用场景

演示准备

需要向客户展示真实的数据吗?只需几秒钟即可生成,而无需对生产数据进行脱敏或手工制作虚假记录。

QA 测试

用多样且真实的数据填充测试数据库。捕获 test@test.comJohn Doe 永远不会暴露的边缘情况。

开发者入职

新成员可以立即为本地数据库注入数据,无需生产环境访问或等待数据转储。

预发布环境刷新

在每个发布周期为预发布环境重新填充最新数据。无需 DevOps 工单、无需数据脱敏、无需安全审查。

更佳结果的技巧

使用描述性的列名

好的列名生成的值
emailsarah.chen@company.io
phone_number555-234-5678
company_nameNexus Industries
模糊的列名生成的值
exK9mP2qL
ph7nR4tY8w
cnLm3pQ6vX

包含数据类型

-- Better
price DECIMAL(10,2)

-- Works but less precise
price VARCHAR(20)

添加外键

-- Explicit relationship
user_id INTEGER REFERENCES users(id)

-- Also works (inferred from naming)
user_id INTEGER

接下来是什么?

  • 需要自动化吗? 查看API 集成指南以用于 CI/CD 流水线。
  • 想要更多行数? 创建免费账户即可获得每月 50 000 行。
  • 有疑问? 请联系 。

在几秒钟内生成 PostgreSQL 测试数据——无需编码!

第一个数据集现已在 ddltodata.com — 无需注册。

Back to Blog

相关文章

阅读更多 »