【问题标题】:postgresql user define variabe for sql query用于 sql 查询的 postgresql 用户定义变量
【发布时间】:2018-04-30 14:08:03
【问题描述】:

我像这样在 psql 中设置变量 abc=# \set test 'select * from tableName;' 我正在使用安装了 postgresql 的 ubuntu 操作系统 当我退出终端时,它会丢失所以为了永久目的,我应该怎么做?

【问题讨论】:

  • 如果你需要在数据库中存储数据,我强烈推荐一张表。
  • 不,我只是为长查询创建快捷方式,所以我设置了变量,但是当我退出到 psql 时它丢失了,我需要再次设置变量,为了永久目的,我应该做什么不需要一次又一次地设置变量
  • 检查我的答案,让我知道它有帮助。另请阅读:stackoverflow.com/help/someone-answers

标签: postgresql psql


【解决方案1】:

最好的方法是创建一个配置表来存储您的所有参数。

但是,如果您希望使用操作系统级别的变量,这就是您可以在 psql 中传递 Shell 变量的方式

[pguser@test ~]$ export test_var="select 'Hello';"
[pguser@test ~]$ psql -A -t -q -d YOURDB -U youruser -p 5432 <<INP
${test_var}
INP
Hello

-A -t -q 选项只是为了抑制列标题和错误输出。

永久设置您的变量,请将这一行放入~/.bashrc , ~/.bash_profile 或任何适用于您的shell 的初始化文件中。

export test='select * from tableName;'

如果你想在pg环境下定义全局变量,可以参考:Is it possible to define global variables in postgresql

【讨论】:

    猜你喜欢
    • 2014-01-31
    • 2012-12-25
    • 2014-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-02
    • 2018-10-16
    • 1970-01-01
    相关资源
    最近更新 更多