代码之家  ›  专栏  ›  技术社区  ›  Landon Statis

连接信息字符串中的“conn_db_link”后缺少“=”

  •  0
  • Landon Statis  · 技术社区  · 6 年前

    我一直在努力解决这个问题。这是在bash脚本中运行的。我得到了下面的错误。但是,如果我从psql中手动运行INSERT语句,它就可以正常工作。

    psql -U zrec -d zrec -t -c "INSERT INTO approved_recommendations
                                  SELECT * FROM dblink('conn_db_link','SELECT * FROM approved_recommendations') AS x(
                                    ticker                   varchar,
                                    status                   varchar,
                                    approved_recommendation  integer,
                                    yesterday_recommendation integer,
                                    prior_recommendation     integer,
                                    date_approved            date,
                                    approved_by              integer,
                                    date_suggested           date,
                                    suggested_by             integer,
                                    recommendation_date      date,
                                    flag_24hours             integer,
                                    display_processed        character varying,
                                    display_processed_date   date);"
    

    错误:无法建立连接 详细信息:连接信息字符串中的“conn_db_link”后缺少“=”

    你有没有想过我错过了什么?我是否设置了错误的DB-Link?它是手动工作的。。。。。

    0 回复  |  直到 6 年前
        1
  •  1
  •   jjanes    6 年前

    如果你使用 SELECT dblink_connect('conn_db_link',...) ,你必须在每节课中重复一遍。设置无法生存。但是,如果你创建了一个外部服务器(如本教程中的“server_vegeta_remote”),那么它在会话之间确实会继续存在。您可以在dblink中直接调用外部服务器的名称。

    我不明白 SELECT dblink_connect('conn_db_link','server_vegeta_remote') 在教程中。为什么不直接使用“server_vegeta_remote”,而不是基于它创建临时命名连接?

    推荐文章