Skip to content

Python/SQLAlchemy: Statement exceeds statement_max_length #818

Description

@amotl

Problem

With the new paramstyle pyformat, and when using the multirow style for INSERT statements, they become massive and fail existing procedures that worked before.

SQLParseException[Statement exceeds `statement_max_length` (262144 allowed, 283232 provided).
Try replacing inline values with parameter placeholders (`?`)]

Evaluation

Everyone should take a note about this in one way or another, as it will likely also trip others. With a multirow conversation style like this, it will likely lead to a significant performance regression for some users that are forced to decrease bulk sizes on their data insertion procedures, for example when using vanilla pandas.

Details

2026-06-19 20:31:48,019 INFO sqlalchemy.engine.Engine INSERT INTO testdrive (id, name) VALUES (%(id_m0)s, %(name_m0)s), (%(id_m1)s, %(name_m1)s), (%(id_m2)s, %(name_m2)s), (%(id_m3)s, %(name_m3)s), (%(id_m4)s, %(name_m4)s), (%(id_m5)s, %(name_m5)s), (%(id_m6)s, %(name_m6)s), (%(id_m7)s, %(name_m7)s), (%(id_m8)s, %(name_m8)s), (%(id_m9)s, %(name_m9)s), (%(id_m10)s, %(name_m10)s), (%(id_m11)s, %(name_m11)s), (%(id_m12)s, %(name_m12)s), (%(id_m13)s, %(name_m13)s), (%(id_m14)s, %(name_m14)s), (%(id_m15)s, %(name_m15)s), (%(id_m16)s, %(name_m16)s), (%(id_m17)s, %(name_m17)s), (%(id_m18)s, %(name_m18)s), (%(id_m19)s, %(name_m19)s), (%(id_m20)s, %(name_m20)s), (%(id_m21)s, %(name_m21)s), (%(id_m22)s, %(name_m22)s), (%(id_m23)s, %(name_m23)s), (%(id_m24)s, %(name_m24)s), (%(id_m25)s, %(name_m25)s), (%(id_m26)s, %(name_m26)s), (%(id_m27)s, %(name_m27)s), (%(id_m28)s, %(name_m28)s), (%(id_m29)s, %(name_m29)s), (%(id_m30)s, %(name_m30)s), (%(id_m31)s, %(name_m31)s), (%(id_m32)s, %(name_m32)s), (%(id_m33)s, %(name_m33)s), (%(id_m34)s, %(name_m34)s), (%(id_m35)s, %(name_m35)s), (%(id_m36)s, %(name_m36)s), (%(id_m37)s, %(name_m37)s), (%(id_m38)s, %(name_m38)s), (%(id_m39)s, %(name_m39)s), (%(id_m40)s, %(name_m40)s), (%(id_m41)s, %(name_m41)s), (%(id_m42)s, %(name_m42)s), (%(id_m43)s, %(name_m43)s), (%(id_m44)s, %(name_m44)s), (%(id_m45)s, %(name_m45)s), (%(id_m46)s, %(name_m46)s), (%(id_m47)s, %(name_m47)s), (%(id_m48)s, %(name_m48)s), (%(id_m49)s, %(name_m49)s), (%(id_m50)s, %(name_m50)s), (%(id_m51)s, %(name_m51)s), (%(id_m52)s, %(name_m52)s), (%(id_m53)s, %(name_m53)s), (%(id_m54)s, %(name_m54)s), (%(id_m55)s, %(name_m55)s), (%(id_m56)s, %(name_m56)s), (%(id_m57)s, %(name_m57)s), (%(id_m58)s, %(name_m58)s), (%(id_m59)s, %(name_m59)s), (%(id_m60)s, %(name_m60)s), (%(id_m61)s, %(name_m61)s), (%(id_m62)s, %(name_m62)s), (%(id_m63)s, %(name_m63)s), (%(id_m64)s, %(name_m64)s), (%(id_m65)s, %(name_m65)s), (%(id_m66)s, %(name_m66)s), (%(id_m67)s, %(name_m67)s), (%(id_m68)s, %(name_m68)s), (%(id_m69)s, %(name_m69)s), (%(id_m70)s, %(name_m70)s), (%(id_m71)s, %(name_m71)s), (%(id_m72)s, %(name_m72)s), (%(id_m73)s, %(name_m73)s), (%(id_m74)s, %(name_m74)s), (%(id_m75)s, %(name_m75)s), (%(id_m76)s, %(name_m76)s), (%(id_m77)s, %(name_m77)s), (%(id_m78)s, %(name_m78)s), (%(id_m79)s, %(name_m79)s), (%(id_m80)s, %(name_m80)s), (%(id_m81)s, %(name_m81)s), (%(id_m82)s, %(name_m82)s), (%(id_m83)s, %(name_m83)s), (%(id_m84)s, %(name_m84)s), (%(id_m85)s, %(name_m85)s), (%(id_m86)s, %(name_m86)s), (%(id_m87)s, %(name_m87)s), (%(id_m88)s, %(name_m88)s), (%(id_m89)s, %(name_m89)s), (%(id_m90)s, %(name_m90)s), (%(id_m91)s, %(name_m91)s), (%(id_m92)s, %(name_m92)s), (%(id_m93)s, %(name_m93)s), (%(id_m94)s, %(name_m94)s), (%(id_m95)s, %(name_m95)s), (%(id_m96)s, %(name_m96)s), (%(id_m97)s, %(name_m97)s), (%(id_m98)s, %(name_m98)s), (%(id_m99)s, %(name_m99)s), (%(id_m100)s, %(name_m100)s), (%(id_m101)s, %(name_m101)s), (%(id_m102)s, %(name_m102)s), (%(id_m103)s, %(name_m103)s), (%(id_m104)s, %(name_m104)s), (%(id_m105)s, %(name_m105)s), (%(id_m106)s, %(name_m106)s), (%(id_m107)s, %(name_m107)s), (%(id_m108)s, %(name_m108)s), (%(id_m109)s, %(name_m109)s), (%(id_m110)s, %(name_m110)s), (%(id_m111)s, %(name_m111)s), (%(id_m112)s, %(name_m112)s), (%(id_m113)s, %(name_m113)s), (%(id_m114)s, %(name_m114)s), (%(id_m115)s, %(name_m115)s), (%(id_m116)s, %(name_m116)s), (%(id_m117)s, %(name_m117)s), (%(id_m118)s, %(name_m118)s), (%(id_m119)s, %(name_m119)s), (%(id_m120)s, %(name_m120)s), (%(id_m121)s, %(name_m121)s), (%(id_m122)s, %(name_m122)s), (%(id_m123)s, %(name_m123)s), (%(id_m124)s, %(name_m124)s), (%(id_m125)s, %(name_m125)s), (%(id_m126)s, %(name_m126)s), (%(id_m127)s, %(name_m127)s), (%(id_m128)s, %(name_m128)s), (%(id_m129)s, %(name_m129)s), (%(id_m130)s, %(name_m130)s), (%(id_m131)s, %(name_m131)s), (%(id_m132)s, %(name_m132)s), (%(id_m133)s, %(name_m133)s), (%(id_m134)s, %(name_m134)s), (%(id_m135)s, %(name_m135)s), (%(id_m136)s, %(name_m136)s), (%(id_m137)s, %(name_m137)s), (%(id_m138)s, %(name_m138)s), (%(id_m139)s, %(name_m139)s), (%(id_m140)s, %(name_m140)s), (%(id_m141)s, %(name_m141)s), (%(id_m142)s, %(name_m142)s), (%(id_m143)s, %(name_m143)s), (%(id_m144)s, %(name_m144)s), (%(id_m145)s, %(name_m145)s), (%(id_m146)s, %(name_m146)s), (%(id_m147)s, %(name_m147)s), (%(id_m148)s, %(name_m148)s), (%(id_m149)s, %(name_m149)s), (%(id_m150)s, %(name_m150)s), (%(id_m151)s, %(name_m151)s), (%(id_m152)s, %(name_m152)s), (%(id_m153)s, %(name_m153)s), (%(id_m154)s, %(name_m154)s), (%(id_m155)s, %(name_m155)s), (%(id_m156)s, %(name_m156)s), (%(id_m157)s, %(name_m157)s), (%(id_m158)s, %(name_m158)s), (%(id_m159)s, %(name_m159)s), (%(id_m160)s, %(name_m160)s), (%(id_m161)s, %(name_m161)s), (%(id_m162)s, %(name_m162)s), (%(id_m163)s, %(name_m163)s), (%(id_m164)s, %(name_m164)s), (%(id_m165)s, %(name_m165)s), (%(id_m166)s, %(name_m166)s), (%(id_m167)s, %(name_m167)s), (%(id_m168)s, %(name_m168)s), (%(id_m169)s, %(name_m169)s), (%(id_m170)s, %(name_m170)s), (%(id_m171)s, %(name_m171)s), (%(id_m172)s, %(name_m172)s), (%(id_m173)s, %(name_m173)s), (%(id_m174)s, %(name_m174)s), (%(id_m175)s, %(name_m175)s), (%(id_m176)s, %(name_m176)s), (%(id_m177)s, %(name_m177)s), (%(id_m178)s, %(name_m178)s), (%(id_m179)s, %(name_m179)s), (%(id_m180)s, %(name_m180)s), (%(id_m181)s, %(name_m181)s), (%(id_m182)s, %(name_m182)s), (%(id_m183)s, %(name_m183)s), (%(id_m184)s, %(name_m184)s), (%(id_m185)s, %(name_m185)s), (%(id_m186)s, %(name_m186)s), (%(id_m187)s, %(name_m187)s), (%(id_m188)s, %(name_m188)s), (%(id_m189)s, %(name_m189)s), (%(id_m190)s, %(name_m190)s), (%(id_m191)s, %(name_m191)s), (%(id_m192)s, %(name_m192)s), (%(id_m193)s, %(name_m193)s), (%(id_m194)s, %(name_m194)s), (%(id_m195)s, %(name_m195)s), (%(id_m196)s, %(name_m196)s), (%(id_m197)s, %(name_m197)s), (%(id_m198)s, %(name_m198)s), (%(id_m199)s, %(name_m199)s), (%(id_m200)s, %(name_m200)s), (%(id_m201)s, %(name_m201)s), (%(id_m202)s, %(name_m202)s), (%(id_m203)s, %(name_m203)s), (%(id_m204)s, %(name_m204)s), (%(id_m205)s, %(name_m205)s), (%(id_m206)s, %(name_m206)s), (%(id_m207)s, %(name_m207)s), (%(id_m208)s, 
[...]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions