Windows 上的 Age Go 驱动程序错误:函数age_prepare_cypher(未知,未知)不存在

windows 上的 age go 驱动程序错误:函数age_prepare_cypher(未知,未知)不存在

php小编子墨近期收到读者反馈,在Windows系统上运行Age Go时遇到了驱动程序错误:“函数age_prepare_cypher(未知,未知)不存在”。这个错误会导致游戏无法正常启动,给玩家带来了很多困扰。在本文中,我们将帮助大家解决这个问题,并提供一些可能的解决方案,让大家能够顺利畅玩Age Go。

问题内容

我正在尝试使用 apache age 的 golang 驱动程序在 windows 上运行密码查询。对于 postgres 服务器,我使用 apache-age docker 映像。

运行示例时,出现以下错误:

ahmar> go run main.go age_wrapper_sample.go sql_api_sample.go  # Do cypher query with Age APISELECT * FROM age_prepare_cypher($1, $2); testGraph CREATE (n:Person {name: '%s'})panic: pq: function age_prepare_cypher(unknown, unknown) does not existgoroutine 1 [running]:main.doWithAgeWrapper({0x1004e94?, 0xc00000a018?}, {0xff0efb?, 0x1?})        C:/Users/ahmar/Desktop/GOlang drivers/samples/age_wrapper_sample.go:43 +0xcb4main.main()        C:/Users/ahmar/Desktop/GOlang drivers/samples/main.go:41 +0x77exit status 2

登录后复制

当我直接在 postgres 服务器上运行查询时,它们工作正常。另外,其他年龄命令(如 load ‘age’; 等)正在从驱动程序运行,但 execcypher() 函数不起作用。

当调用 age_prepare_cypher() 函数时,该错误似乎源自 execcypher() 中的 age.go 文件。

注意:我在 linux 上没有遇到此错误。在那里,使用 age go 驱动程序时查询工作正常,并且我得到了预期的输出。

解决方法

最近在此提交中添加了函数 age_prepare_cypher 。它没有添加到图像 apache/age:v1.1.0 中。因此,如果您在提交 42f94e7f36dc084b74ec335536a18173c6fca4cd 处运行示例并连接到镜像 apache/age:v1.1.0 ,你会得到错误 panic: pq: function age_prepare_cypher(unknown,unknown) 不存在。

我使用以下命令运行容器:

docker run     --name age      -p 5432:5432     -e postgres_user=postgres     -e postgres_password=agens     -e postgres_db=postgres     -d     apache/age:v1.1.0

登录后复制

然后在提交 42f94e7f36dc084b74ec335536a18173c6fca4cd 上运行示例,无需任何更改: p>

$ go run main.go age_wrapper_sample.go sql_api_sample.go# do cypher query with sql apiselect * from age_prepare_cypher($1, $2); testgraph create (n:person {name: '%s', weight:%f})panic: pq: function age_prepare_cypher(unknown, unknown) does not exist

登录后复制

您会看到 sql_api_sample 首先失败;在您的问题中,只有 age_wrapper_sample 失败。所以看来您已经修改了源代码,并且两个示例连接到了不同的数据库。请仔细检查失败示例连接的是哪个数据库,并查看该函数是否在该数据库中定义。您可以使用 df 检查函数是否存在。这是找不到函数时的输出:

postgres=# df ag_catalog.age_prepare_cypher                       List of functions Schema | Name | Result data type | Argument data types | Type --------+------+------------------+---------------------+------(0 rows)

登录后复制

如果情况并非如此,请描述重现该问题的确切步骤。谢谢!

以上就是Windows 上的 Age Go 驱动程序错误:函数age_prepare_cypher(未知,未知)不存在的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2484833.html

(0)
上一篇 2025年3月4日 21:38:37
下一篇 2025年2月19日 22:15:29

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 如何正确创建mongo模型和客户端?

    php小编苹果将为你介绍如何正确创建mongo模型和客户端。在使用MongoDB进行开发时,创建模型和客户端是非常重要的一步,它们决定了你在后续操作中的灵活性和效率。首先,你需要通过安装MongoDB扩展来启用MongoDB支持。然后,你可…

    2025年3月4日
    200
  • 如何使用 Gin 在 HTTP 服务器中即时生成 zip / 7z 存档?

    php小编苹果为你带来了使用Gin在HTTP服务器中即时生成zip/7z存档的简洁指南。Gin是一个轻量级的Go语言框架,具有高性能和易用性。本文将介绍如何使用Gin处理HTTP请求,并通过调用系统命令和第三方库来生成zip和7z存档文件。…

    2025年3月4日
    200
  • 拆分来自 HTML 文本区域的字符串会导致 GOLANG 中出现意外结果

    拆分来自 HTML 文本区域的字符串会导致 Golang 中出现意外结果。这是由于在拆分过程中,可能会出现特殊字符或标签未被正确处理的情况,导致字符串分割错误,进而影响后续的数据处理和展示。为了避免这种情况的发生,开发人员需要仔细处理和转义…

    2025年3月4日
    200
  • 使用反射将字节复制到结构体字段中

    php小编草莓介绍:在编程中,有时候我们需要将字节数据复制到结构体的字段中。这个过程可以通过使用反射来实现。反射是一种强大的工具,可以在运行时检查和操作代码结构。通过反射,我们可以获取结构体的字段信息,并将字节数据按照字段的类型和顺序复制到…

    2025年3月4日
    200
  • Gorm 应用程序无法连接到 Mac 上 docker 容器中的 PostgreSQL,忽略 DSN

    php小编小新最近遇到了一个问题,就是在Mac上使用Gorm应用程序连接docker容器中的PostgreSQL时出现了连接问题。具体表现为忽略了DSN。DSN是数据源名称的缩写,用于指定数据库连接的信息。这个问题让我烦恼不已,因为无法连接…

    2025年3月4日
    200
  • Ent 查询中的嵌套聚合

    php小编苹果在本文中将为大家介绍“Ent 查询中的嵌套聚合”。在数据查询和分析中,嵌套聚合是一种强大的技术,可以在一个查询中进行多个层级的聚合操作。通过使用嵌套聚合,我们可以更加灵活地对数据进行深入分析,从而得到更精准的结果。本文将详细解…

    2025年3月4日
    200
  • 在 Golang 中保存到 MongoDB 时如何解决空数据值问题?

    在Golang中,保存数据到MongoDB时,经常会遇到空数据值的问题。当某个字段的值为空时,MongoDB默认会将其存储为null。然而,在实际应用中,我们可能更希望将其存储为一个特定的默认值,以便更好地处理和查询数据。那么,在Golan…

    2025年3月4日
    200
  • 使用go的socks5代理

    php小编柚子今天要为大家介绍的是使用Go语言实现的socks5代理。在网络访问过程中,我们经常遇到需要隐藏真实IP地址或绕过网络封锁的情况。而使用socks5代理可以帮助我们轻松实现这些目标。Go语言作为一门高效、简洁的编程语言,具有丰富…

    2025年3月4日
    200
  • 容器运行完后退出

    在Web开发中,容器是一种常见的技术,如Docker、Kubernetes等。它们能够提供环境隔离和资源管理的功能,使应用程序能够在不同的环境中运行。然而,有时候我们希望容器运行完毕后能够自动退出,而不是一直保持运行状态。那么,如何实现容器…

    2025年3月4日
    200
  • 如何通过网页抓取访问动态 HTML 元素?

    php小编小新在这里为大家介绍一种方法,可以通过网页抓取访问动态HTML元素。当我们在进行网页抓取时,有时会遇到一些动态生成的内容,这些内容在网页加载完成之前无法直接获取。幸运的是,我们可以利用一些工具和技术来解决这个问题。本文将介绍一种基…

    2025年3月4日
    200

发表回复

登录后才能评论