MagicStack / MagicStack/asyncpg
asyncpg.exceptions.UndefinedFunctionError: function pg_listening_channels() does not exist
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Python
- Estrellas
- 8.1k
- Forks
- 468
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
this is error message
Traceback (most recent call last):
File "/home/gt/workspace/algo_syncer/base/async_pg.py", line 81, in <module>
loop.run_until_complete(run_query('SELECT 1'))
File "/usr/lib/python3.6/asyncio/base_events.py", line 473, in run_until_complete
return future.result()
File "/home/gt/workspace/algo_syncer/base/async_pg.py", line 65, in run_query
await pool.release(con)
File "/home/gt/.local/lib/python3.6/site-packages/asyncpg/pool.py", line 643, in release
return await asyncio.shield(ch.release(timeout), loop=self._loop)
File "/home/gt/.local/lib/python3.6/site-packages/asyncpg/pool.py", line 214, in release
raise ex
File "/home/gt/.local/lib/python3.6/site-packages/asyncpg/pool.py", line 204, in release
await self._con.reset(timeout=budget)
File "/home/gt/.local/lib/python3.6/site-packages/asyncpg/connection.py", line 1115, in reset
await self.execute(reset_query, timeout=timeout)
File "/home/gt/.local/lib/python3.6/site-packages/asyncpg/connection.py", line 273, in execute
return await self._protocol.query(query, timeout)
File "asyncpg/protocol/protocol.pyx", line 316, in query
asyncpg.exceptions.UndefinedFunctionError: function pg_listening_channels() does not exist
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
and this is my python3.6 code
import asyncpg
import asyncio
import traceback
dsn = 'postgres://gpadmin:gpadmin@172.16.16.134:2345/algo'
async def run_query(query):
pool = await asyncpg.create_pool(dsn, command_timeout=60)
con = await pool.acquire()
try:
if query.startswith('delete from') or query.startswith('insert'):
result = await con.execute(query)
else:
result = await con.fetchval(query)
except:
print('Could not complete query "{}"'.format(query))
print(traceback.format_exc())
result = None
exit(1)
finally:
await pool.release(con)
return result
if __name__ == '__main__':
loop = asyncio.get_event_loop()
loop.run_until_complete(run_query('SELECT 1'))
Please tell me what can i do next
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza con el traceback en asyncpg/pool.py:204-214 y connection.py:1115, y después reproduce el ejemplo SELECT 1 contra el servidor compatible con PostgreSQL indicado. Se considera terminado cuando se determine por qué pg_listening_channels() no está disponible durante la liberación del pool y se identifique una corrección a nivel del repositorio o una limitación de compatibilidad documentada; el issue no menciona ninguna prueba del repositorio ni ningún archivo de destino.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- postgresql, python
- Área
- databases
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 25/100