向postgresql表中插入10000条数据
时间: 2024-12-17 20:36:03 浏览: 19
向PostgreSQL数据库表中插入大量数据通常会通过批量操作或者程序循环来提高效率。这里是一个基本的例子,假设我们有一个名为`table_name`的表,需要插入的结构是`column_1`, `column_2`等:
```sql
-- 创建一个包含10000行的数据数组或列表(这取决于你的编程语言)
WITH data AS (
SELECT generate_series(1, 10000) as id, -- 替换为你的实际列值生成
'value_' || id as column_1,
'another_value_' || id as column_2
FROM generate_series(1, 10000)
)
-- 使用COPY命令一次性将数据插入到表中
INSERT INTO table_name (column_1, column_2)
SELECT * FROM data;
-- 如果数据量非常大,可以考虑分批插入,例如每次插入1000条
DO $$
DECLARE
row_count INTEGER := 1;
BEGIN
WHILE row_count <= 10000 LOOP
INSERT INTO table_name (column_1, column_2)
SELECT column_1, column_2
FROM data
LIMIT 1000 OFFSET row_count * 1000; -- 每次插入1000行
row_count := row_count + 1000;
END LOOP;
END $$;
```
请注意替换`generate_series`函数和实际列名,以及根据你的数据库连接方式进行相应的调整。
阅读全文