MagicStack / MagicStack/asyncpg

Inserting multiple values in a row

Open
#1,106 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
8.1k
Forks
468
PR merge metrics
No merged PRs in 30d

Description

* **asyncpg version**: 0.29.0
* **PostgreSQL version**: 15.4
* **Do you use a PostgreSQL SaaS? If so, which? Can you reproduce
the issue with a local PostgreSQL install?**: No
* **Python version**: 3,8,9
* **Platform**: Windows 7
* **Do you use pgbouncer?**: No
* **Did you install asyncpg with pip?**: Yes
* **If you built asyncpg locally, which version of Cython did you use?**: None
* **Can the issue be reproduced under both asyncio and
[uvloop](https://github.com/magicstack/uvloop)?**: No

Hello.
I'm migrating from psycopg2 to asyncpg and I still don't understand much and have questions.
Sorry if they are stupid :)

To fill all the cells in a row in **psycopg2** I specified:
```
"""INSERT INTO table_name VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s);""",
(
"here is a list of data"
)
```

For the same operation in **asyncpg** I need to specify the names of all columns, i.e. the code is twice as large.
Is this the only correct solution?

```
"""INSERT INTO table_name
(
"here is a list of column names"
)
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15);""",
(
"here is a list of data"
)
```

Contributor guide

No contributing guide indexed for this repository

Research direction

The report mentions asyncpg, PostgreSQL 15.4, Python, and an INSERT statement, but identifies no repository file or test. Start by reviewing asyncpg's documented INSERT argument handling alongside PostgreSQL syntax; done requires a maintainer-confirmed answer or a narrowly specified change with a regression test.

Written by the indexing model from the issue text.

Assessment

Tech stack
postgresql, python
Domain
databases
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.