标签: environment-variables

如何在 Postgres 函数中使用环境变量?

假设我有一个 Windows 用户环境变量 SOME_STRING。

是否可以在 PL/pgSQL 函数中使用它的值?

如果没有,我是否需要使用不受信任的语言(如 PL/pythonu),或者我可以使用受信任的语言吗?

我在 PG 9.2

postgresql plpgsql environment-variables

8
推荐指数
1
解决办法
3718
查看次数

MATCH AGAINST 一个字符返回空行,ft_min_word_len = 1

我已经设置ft_min_word_len = 1my.cnf文件,也SHOW VARIABLES LIKE 'ft_min_word%'显示ft_min_word_len as 1. 然后我重新加载了所有数据库表,它仍然没有搜索一个字符的单词。

我的表:

CREATE TABLE IF NOT EXISTS event (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(80) NOT NULL,
description TEXT,
time TIMESTAMP DEFAULT 0,
FULLTEXT(name)
);
Run Code Online (Sandbox Code Playgroud)

我的查询:

SELECT event.id AS eid,
    event.name AS ename
FROM event
WHERE MATCH(event.name) AGAINST('+W*' IN BOOLEAN MODE)
Run Code Online (Sandbox Code Playgroud)

我正在寻找的事件名称是 W.W.W. + Pavel Fajt + Vladimir 518 @ Sono

请问还有什么可能导致问题?

编辑:我正在使用 InnoDB,抱歉我之前没有提到过。

mysql my.cnf pattern-matching environment-variables

3
推荐指数
1
解决办法
3457
查看次数

如何更改所有会话的 SESSION_CACHED_CURSORS

如何更改所有会话的 SESSION_CACHED_CURSORS?

我在 google 和 oracle 网站上找到:

Alter Session... 但我需要在所有会话中更改它,而不仅仅是为其中一个会话。

我该怎么做?

更新1:

SQL> alter session set session_cached_cursors=800 scope=both sid='*';
alter session set session_cached_cursors=800 scope=both sid='*'
                                             *
ERROR at line 1:
ORA-02248: invalid option for ALTER SESSION
Run Code Online (Sandbox Code Playgroud)

oracle session environment-variables

2
推荐指数
1
解决办法
3万
查看次数

Postgres C 扩展中的环境变量

我无法在 PostgreSQL C 扩展代码中获取环境变量。

例如,此函数始终返回111

#include "postgres.h"
#include "fmgr.h"
#include <stdlib.h>

PG_MODULE_MAGIC;

PG_FUNCTION_INFO_V1(myinc);
Datum
myinc(PG_FUNCTION_ARGS)
{
  int32 arg = PG_GETARG_INT32(0);
  char* envar = getenv("MYINC");
  if (envar) {
    PG_RETURN_INT32(arg + atoi(envar));
  } else {
    PG_RETURN_INT32(111);
  }
}
Run Code Online (Sandbox Code Playgroud)

虽然此 C 程序按预期工作,但它会打印以下内容MYINC

#include <stdio.h>
#include <stdlib.h>

int main()
{
  printf("MYINC: %s", getenv("MYINC"));
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

postgresql environment-variables postgresql-extensions c

2
推荐指数
1
解决办法
463
查看次数

如何知道我是否在 azure 中?

我这里说的是sql server。

我可以连接到天蓝色。我还可以管理权限

但是在进行一些自动化操作时,我需要知道我是在天蓝色还是普通sql中。我怎样才能做到这一点?

我一直在使用@@版本。不过,据说并不准确

sql-server azure-sql-database environment-variables sql-server-2016 azure

1
推荐指数
1
解决办法
144
查看次数