如何在 Windows 版本的 postgresql 中使用 PSQL_EDITOR_LINENUMBER_ARG

How to use PSQL_EDITOR_LINENUMBER_ARG in Windows version of postgresql

想知道 psql。

postgres-# \ev staff_list 2

environment variable PSQL_EDITOR_LINENUMBER_ARG must be set to specify a line number

https://www.postgresql.org/docs/current/app-psql.html#APP-PSQL-PATTERNS

如 psql cli 所示,为了执行 \ev staff_list 2 我需要了解 PSQL_EDITOR_LINENUMBER_ARG.
但是不知道怎么设置环境变量:PSQL_EDITOR_LINENUMBER_ARG.
那么如何让 \ev staff_list 2 在 windows 中工作?

PostgreSQL 在 src/bin/psql/settings.h 中定义了默认编辑器:对于 Windows,即 notepad.exe,其他地方都是 vi

现在 vi 可以选择在光标位于特定行时启动编辑器:

vi +10 myfile

但是 notepad.exe 没有这样的选项,因此出现错误消息。

你有两件事可以做:

  1. 不要试图将光标放在编辑器中的特定行上:

    \ev staff_list
    
  2. 使用不同的编辑器并告诉它如何定位光标:

    SET PSQL_EDITOR=vim.exe
    SET PSQL_EDITOR_LINENUMBER_ARG="+"
    psql -c "\ev staff_list 2"