jackc / tern

The SQL Fan's Migrator
MIT License
850 stars 66 forks source link

Error initializing migrator: ERROR: prepared statement already exists (SQLSTATE 42P05) #100

Open ChristianSch opened 1 month ago

ChristianSch commented 1 month ago

Hi,

I have three migrations: a pg dump in it's entirety and two subsequent, smaller changes. In the pg dump I had an ownership change and that didn't work. The migration failed. I fixed that, but since then I get the following:

Error initializing migrator:
  ERROR: prepared statement "stmtcache_f79766b7ce94605d03a610756ccc50f2971d8e6d09672dec" already exists (SQLSTATE 42P05)

I have no idea how to get rid of that. I can't deallocate it, I can't deallocate all. I did the first migration manually and bumped the version. Still running into that. One migration did work via tern, but can't reproduce/remember exactly. I can't use tern anymore because I always get this error. How do I get rid of it? I don't use any prepared statements. I can't find any code related to this and I don't see anything in my db related to this. What's going on?

jackc commented 1 month ago

Are you running the tern CLI or embedding the library? What version?

That error is from pgx's prepared statement cache, but it shouldn't be able to happen.

ChristianSch commented 1 month ago

@jackc I use cli and the version is 2.2.0

jackc commented 1 month ago

Well, that's very confusing. That really shouldn't be able to happen. I was wondering if you had some funny connection configuration going on underneath the tern connection, but that's not possible with the CLI.