AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题

问题[postgresql-extensions](dba)

Martin Hope
Nikola
Asked: 2022-01-19 07:01:00 +0800 CST

Postgres C 扩展中的环境变量

  • 2

我无法在我的 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);
  }
}

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

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

int main()
{
  printf("MYINC: %s", getenv("MYINC"));
  return 0;
}
postgresql postgresql-extensions
  • 1 个回答
  • 217 Views
Martin Hope
George K
Asked: 2021-12-22 08:10:20 +0800 CST

临时表数据创建后去哪了?

  • 2

据我所知temp_buffers,设置服务用于存储临时表数据。

但是当我创建了一个临时表时,会立即在内部为它创建文件PGDATA以及主数据库。因此,我将感谢您对几个问题的帮助。

  1. 会发生什么
    。临时表数据是否temp_buffers 足以存储临时表数据?

    湾。临时表数据是否temp_buffers 不足以存储临时表数据?

  2. 是否有任何情况下没有足够的temp_buffers 设置最终溢出pgsql_tmp?

postgresql postgresql-extensions
  • 1 个回答
  • 232 Views
Martin Hope
Evan Carroll
Asked: 2021-11-03 18:39:59 +0800 CST

PostgreSQL 是否提供任何东西来转储 fcinfo?

  • 0

我正在寻找用 C 编写扩展。我想更好地理解这个论点是什么以及它们如何在不同的调用中发生变化。有什么可以转储这个参数或调试fcinfo参数的方法吗?

在这个问题中,我了解到它实际上是一个指向结构的指针FunctionCallInfoBaseData,但是有没有一种简单的方法可以在函数调用时转储它?

postgresql postgresql-extensions
  • 1 个回答
  • 17 Views
Martin Hope
Evan Carroll
Asked: 2021-11-03 18:31:19 +0800 CST

PG_FUNCTION_ARGS(使用 V1 约定)传递了哪些参数?

  • 0

PostgreSQL 用“V1”接口记录他们所有的 C 函数,但他们实际上并没有显示他们得到了什么,

PG_FUNCTION_INFO_V1(add_one);

Datum
add_one(PG_FUNCTION_ARGS)
{
    int32   arg = PG_GETARG_INT32(0);

    PG_RETURN_INT32(arg + 1);
}

在上面PG_FUNCTION_ARGS声明要接受的函数是什么?许多 V1 函数似乎fcinfo神奇地出现在定义中,我猜它是在这里引入的,但它是什么,这个宏还引入了其他任何东西吗?

postgresql postgresql-extensions
  • 1 个回答
  • 112 Views
Martin Hope
Evan Carroll
Asked: 2021-11-03 16:11:22 +0800 CST

什么是 SFRM_Materialize_Preferred 以及如何使用它来编写性能更高的函数?

  • 0

研究这个问题,我看到 call 有一个SetFunctionReturnMode值SFRM_Materialize_Preferred。这是什么?这可以用来编写性能更高的函数吗?

有多次出现SRFM_Materializeincontrib/但没有SRFM_Materalize_Preferred

postgresql postgresql-extensions
  • 1 个回答
  • 59 Views
Martin Hope
Evan Carroll
Asked: 2021-10-29 09:11:00 +0800 CST

是否有从 PostgreSQL 的 C 函数中打印/调试的方法?

  • 1

当您在 C 中扩展 PostgreSQL 时,如何自省/调试/转储变量?除了将自定义结果集返回给客户端之外,还有其他方法吗?printf我可以在服务器或客户端的日志中收到类似的东西?

postgresql postgresql-extensions
  • 2 个回答
  • 227 Views
Martin Hope
mikelus
Asked: 2020-06-12 08:18:47 +0800 CST

是否可以将 Postgres 扩展添加到 AWS Aurora?

  • 1

我正在尝试对 Postgres 数据库进行未来验证,以便可以将其传输到 AWS Aurora。

我正在使用指南扩展uuid-ossp。

是否可以将 PostGres 扩展添加到 AWS Aurora?

特别是,我对扩展是否uuid-ossp可以在 Aurora 中使用感兴趣。

postgresql postgresql-extensions
  • 1 个回答
  • 4889 Views
Martin Hope
ReverseFlow
Asked: 2020-05-03 14:58:03 +0800 CST

以输入为初始条件的自定义聚合 Postgresql C 扩展

  • 0

有没有办法编写一个自定义聚合 Postgresql C 扩展函数,该函数从用户那里获取输入并将其设置为初始条件?如果是这样,怎么做?

我过去写过几个 Postgresql 扩展。输入始终是表格的列,但现在出于理论上的原因,我需要根据一个变化很大的用户输入进行聚合扩展。特别是,这些值也不能存储在数据库中。

编辑1: 例如,说我想运行该功能

aggregate fancy_select( int tmp_accum_value, int column, int *fancy_math_stuff){

return (row *** fancy_math_stuff)    
}

其中 *** 是一个花哨的数学运算,它使用整个 fancy_math_stuff 数组,并且所述数组在第一次调用时传递,但它不作为列存储在数据库中。tmp_accum_value 是累积的中间状态。

postgresql postgresql-extensions
  • 1 个回答
  • 134 Views
Martin Hope
kravb
Asked: 2019-12-06 08:23:07 +0800 CST

CREATE EXTENSION 后 LTREE 扩展不存在

  • 3

我正在尝试创建一个使用 ltree 列的触发器。

CREATE EXTENSION IF NOT EXISTS ltree;

跑步

SELECT * FROM pg_catalog.pg_extension 

给出以下输出:

extname     |extowner|extnamespace|extrelocatable|extversion|extconfig|extcondition|
------------|--------|------------|--------------|----------|---------|------------|
plpgsql     |      10|          11|false         |1.0       |NULL     |NULL        |
ltree       |      10|      361964|true          |1.1       |NULL     |NULL        |
postgres_fdw|      10|      361970|true          |1.0       |NULL     |NULL        |

我无法删除扩展,因为我收到一个错误,即存在依赖项。我还能够创建一个具有数据类型 ltree 的列而没有错误的表。

尝试创建触发器时,出现以下错误:

SQL Error [42704]: ERROR: type "ltree" does not exist
  Position: 252

这是触发器的片段,当我声明一个 ltree 类型的变量时,问题似乎正在发生:

CREATE OR REPLACE FUNCTION asset.update_asset_path()

RETURNS TRIGGER

AS $$
    DECLARE
        db_path_ltree ltree;
        single_asset INT;
        s3path TEXT = '';
        ltree_array TEXT[];
        v_asset_name TEXT;
        i_last_element INT;

令人困惑的是,这仅发生在开发人员的一种环境中。每个其他 postgres 服务器都没有这个问题,并且使用相同的代码。

任何想法为什么会发生这种情况?

postgresql postgresql-extensions
  • 1 个回答
  • 2934 Views
Martin Hope
Ben S
Asked: 2019-08-28 03:10:40 +0800 CST

如何仅从扩展加载一个功能?

  • 0

在 PostgreSQL 中,我正在加载uuid-ossp扩展,因此我可以使用在我的查询中创建随机 UUID 的函数:

create extension if not exists "uuid-ossp";

但是,除了提供我需要的一个功能 ( uuid_generate_v4) 之外,它还提供了我不需要的其他九个功能:

我的 postgresql gui 中可用的功能

(\df在命令行上使用显示相同的数据)。有什么方法可以使用编程术语将uuid_generate_v4函数“导入”到我的“命名空间”中,而不导入我不使用的函数?

postgresql postgresql-extensions
  • 1 个回答
  • 291 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve