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
    • 最新
    • 标签
主页 / user-5654

MacGyver's questions

Martin Hope
MacGyver
Asked: 2022-09-13 12:22:56 +0800 CST

在 postgresql 中查找并删除角色的公共模式对象依赖项

  • 0

几周前,当我学习 PostgreSQL 安全性时,我试图做一些奇怪的事情(尽管不推荐)从 pgadmin 的对象浏览器中删除公共模式。幸运的是,我有我运行的所有命令和我运行的所有撤消命令,但我似乎仍然有一个我无法删除的角色对象。尝试 DROP ROLE test_role_11 时出现错误,但我似乎仍然在公共模式中有对象依赖关系。你能帮我找到查询以找出它是什么吗?给定第一个查询,您还可以帮我找到正确的 REVOKE 命令(或其他命令)以撤消依赖关系和/或特权吗?PUBLIC 似乎是它自己的挑战,而不是一个实际的角色,所以我不确定如何编写查询。我尝试过使用旧问题,但没有走得太远。

异常/错误:

无法删除角色“test_role_11”,因为某些对象依赖于它 详细信息:架构公共的特权

这是我运行的查询。

CREATE ROLE test_role_11 
--NOSUPERUSER NOCREATEDB NOCREATEROLE NOINHERIT NOLOGIN NOREPLICATION NOBYPASSRLS
REVOKE ALL ON ALL TABLES IN SCHEMA pg_catalog FROM public, me;
--GRANT ALL ON ALL TABLES IN SCHEMA pg_catalog TO public, me;
GRANT SELECT ON ALL TABLES IN SCHEMA pg_catalog TO test_role_11;
--REVOKE SELECT ON ALL TABLES IN SCHEMA pg_catalog FROM test_role_11;
GRANT test_role_11 TO me
--REVOKE object_browser FROM me;

--GRANT SELECT ON TABLE aaa IN SCHEMA pg_catalog TO test_role_11;

GRANT SELECT ON TABLE pg_catalog."aaa" TO test_role_11;
GRANT SELECT ON TABLE staging."aaa" TO test_role_11;

GRANT SELECT ON TABLE pg_database TO test_role_11;

这些没有为我的角色找到任何对象依赖项。

查找链接到 PostgreSQL 角色的对象


postgresql
  • 1 个回答
  • 23 Views
Martin Hope
MacGyver
Asked: 2022-09-10 13:23:49 +0800 CST

PostgreSQL 安装期间内置(又名标准)数据库对象的 OID 版本范围

  • 0

软件通常为安装或补丁/升级期间创建的对象的标准对象(PostgreSQL 将这些“内置”对象)的标识符保留 id 发布范围。我很难找到 PostgreSQL 对象的 OID 版本范围。有人可以指出我的文档吗?此外,OID 是否正在逐步退出 PostgreSQL?这将如何影响我的问题?

例如,pg_roles 表似乎对安装期间创建的对象或补丁使用四位数或更少的 OID,但文档有限。这是我能找到的最接近的东西。

https://www.postgresql.org/docs/12/release-12.html

为新的内置对象(例如新函数)手动分配 OID 的补丁现在应该在 8000-9999 范围内随机选择 OID。在开发周期结束时,提交的补丁使用的 OID 将使用新的 renumber_oids.pl 脚本重新编号为较低的数字,目前在 4xxx 范围内。这种方法应该会大大降低不同进程内补丁之间 OID 冲突的几率。

虽然没有保留任何 OID 供外部使用的特定政策,但建议分叉和其他需要私有手动分配 OID 的项目使用高 7xxx 范围内的数字。这将避免与最近合并的补丁发生冲突,并且核心项目应该需要很长时间才能达到该范围。

鉴于上面的引用,也许更好的提问方式是“用于每种类型的新对象创建(即:pg_roles)的 OID 种子值或 OID 算法是什么?”

虽然没有保留任何 OID 供外部使用的具体政策

postgresql
  • 1 个回答
  • 22 Views
Martin Hope
MacGyver
Asked: 2018-09-05 11:48:49 +0800 CST

在一次执行中运行多个 CREATE VIEW 和 GRANT SELECT 语句

  • 2

有没有办法通过在 SQL Server Management Studio 中按 F5 来运行多个 CREATE VIEW 命令和/或多个 GRANT SELECT 命令?如果是这样,我该怎么做?

sql-server ssms
  • 2 个回答
  • 2570 Views
Martin Hope
MacGyver
Asked: 2017-11-18 00:01:51 +0800 CST

SQL Server 2016 中的用户安全继承

  • 1

我想在 SQL Server 2016 中构建一堆新数据库(几十个)。但是,我希望所有用户都访问一个数据库(现在称为 SECURITY),并将安全性应用于该数据库,其中每个用户将被授予访问其部门的单一模式的权限。SQL Server 2016 是否允许继承安全性,因此您不必在每个数据库中构建这些用户,并在每个数据库中应用相同的安全性?其中一些模式将只有视图,其中的定义读取其他数据库中的模式和表。

DEV_SECURITY 中的一些模式将允许在视图、表和存储过程上读/写和删除/创建,以确保安全,但也允许另一个数据库。

这是否需要我在所有数据库中构建这些用户及其安全性,或者我是否可以通过仅在安全性中构建它们来简化?

sql-server security
  • 1 个回答
  • 605 Views
Martin Hope
MacGyver
Asked: 2016-12-14 10:43:26 +0800 CST

pgAdmin 和 PostgreSQL 兼容性矩阵 [重复]

  • 9
这个问题在这里已经有了答案:
如何找到合适的 pgadmin III 版本? (2 个回答)
2年前关闭。

有没有人为 pgAdmin 版本和 PostgreSQL 版本整理了一个版本兼容性矩阵?

https://www.pgadmin.org/download/windows.php

https://www.postgresql.org/download/windows/

postgresql pgadmin
  • 1 个回答
  • 6071 Views
Martin Hope
MacGyver
Asked: 2016-03-24 10:12:03 +0800 CST

PL/SQL 代码在 sql plus 与 sql developer 中的运行方式是否不同?

  • 0

今天,我偶然发现了一个关于 / 字符和 ; 的问题。特点。答案似乎没有被否决,所以我对它为什么没有被否决的问题提出了更多质疑。有些东西告诉我 sql plus(命令行)和通过 sql developer 运行的 sql 行为不同。这些字符的用法就是一个例子 这是真的吗?如果是这样,我怎样才能找到这些差异?

参考:

https://stackoverflow.com/questions/1079949/when-do-i-need-to-use-a-semicolon-vs-a-slash-in-oracle-sql

oracle plsql
  • 1 个回答
  • 10989 Views
Martin Hope
MacGyver
Asked: 2016-03-19 08:56:57 +0800 CST

另一个“ORA-06512:表或视图不存在”场景的权限

  • 2

请参阅下面的代码。我正在使用模式 y 中的用户 x 运行代码。如果我由模式 x 中的用户 x 运行完全相同的代码,但不能由模式 y 中的用户 x 运行。我得到错误ORA-06512: table or view does not exist。为什么会这样?我将架构明确设置为 y。当只在模式 y 中使用用户 x 运行 create 语句时,它运行良好。当只在模式 x 中使用用户 x 运行 create 语句时,它也运行良好。

模式 y 中有两个同义词,称为 aaaaa 和 bbbbb。请参阅 create 语句中的 y.aaaaa 和 y.bbbbb。同义词 y.aaaaa 从模式 z 中的表 z.aaaaa 中选择数据。同义词 y.bbbbb 从模式 z 中的表 z.bbbbb 中选择数据。用户 x 当前对模式 z 中的这两个表具有 SELECT 权限。我在模式 y 中重命名了同义词(y.aaaaa 和 y.bbbbb),以便更容易找到它们。

XSQL 是罪魁祸首,但不确定我们需要什么权限。当XSQL(sql_code)被注释掉时,它不会抛出错误。

这不起作用:

更改会话集 current_schema=y;

DECLARE sql_code VARCHAR2(4000) :=
'create table basis as '||
'(select my_basecode,c_fullname,encounter_num,concept_cd from aaaaa basis '||
'        inner join enc on enc.patid = basis.patient_num and enc.encounterid = basis.encounter_num '||
'     join bbbbb basiscode  '||
'        on basis.modifier_cd = basiscode.c_basecode '||
'        and basiscode.c_fullname like ''\BASIS\%'') ';
BEGIN
  DROPSQL('DROP TABLE basis');
  XSQL(sql_code);
END;

这有效:

alter session set current_schema=y;

create table basis as
(select my_basecode,c_fullname,encounter_num,concept_cd from aaaaa basis
        inner join enc on enc.patid = basis.patient_num and enc.encounterid = basis.encounter_num
     join bbbbb basiscode
        on basis.modifier_cd = basiscode.c_basecode '||
        and basiscode.c_fullname like '\BASIS\%');

供参考:

create or replace PROCEDURE XSQL(sqlstring VARCHAR2) AS 
BEGIN
  EXECUTE IMMEDIATE sqlstring;
  dbms_output.put_line(sqlstring);
END XSQL;
oracle permissions
  • 1 个回答
  • 2228 Views
Martin Hope
MacGyver
Asked: 2016-03-12 08:35:44 +0800 CST

在 Oracle 中以默认模式创建视图的特殊设置

  • 1

在 Oracle 中创建视图时,如果视图和从中读取视图的表位于两个不同的模式中,您是否需要为给定用户进行特殊设置?创建视图的用户具有 dba 权限。

以下命令抛出以下错误。

create or replace VIEW view_patient as select * from DATA.PATIENT_DIMENSION where PATIENT_NUM in (select PATIENT_NUM from patient_list);

错误:

Error report -
SQL Error: ORA-01031: insufficient privileges
01031. 00000 -  "insufficient privileges"
*Cause:    An attempt was made to change the current username or password
           without the appropriate privilege. This error also occurs if
           attempting to install a database without the necessary operating
           system privileges.
           When Trusted Oracle is configure in DBMS MAC, this error may occur
           if the user was granted the necessary privilege at a higher label
           than the current login.
*Action:   Ask the database administrator to perform the operation or grant
           the required privileges.
           For Trusted Oracle users getting this error although granted the
           the appropriate privilege at a higher label, ask the database
           administrator to regrant the privilege at the appropriate label.
oracle permissions
  • 1 个回答
  • 89 Views
Martin Hope
MacGyver
Asked: 2016-03-12 08:19:12 +0800 CST

Oracle 中默认模式的名称是什么?

  • 2

当您在 Oracle 中创建对象且未指定模式(对象前缀)时,该默认模式是否有名称?我在 Oracle SQL Developer 中看到,当未指定前缀时,新创建的对象显示在根对象节点中,而不是模式对象节点中。

在模式 X 下创建表:

X.table_1

在默认模式下创建表:

表格1

oracle schema
  • 1 个回答
  • 20649 Views
Martin Hope
MacGyver
Asked: 2015-12-30 10:46:32 +0800 CST

Oracle 连接结束时“.WORLD”的意义

  • 6

在 Oracle 连接名称末尾添加“.WORLD”有什么意义?我发现没有该后缀的东西仍然可以连接。我还注意到客户端 tnsnames.ora 文件和服务器 tnsnames.ora 文件都必须有这个后缀(或者根本没有)才能进行通信。

oracle connections
  • 1 个回答
  • 5608 Views
Martin Hope
MacGyver
Asked: 2015-12-03 11:03:43 +0800 CST

SQL Server 2014 Express 不同安装程序之间的差异

  • 9

我试图了解 SQL Server 2014 Express 的不同安装程序之间的差异。如果你能告诉我你能告诉我的任何事情或找到关于它们的文档,我将不胜感激。

https://www.microsoft.com/en-us/download/confirmation.aspx?id=42299

Express 32BIT WoW64\SQLEXPR32_x86_ENU.exe
Express 32BIT\SQLEXPR_x86_ENU.exe
Express 64BIT\SQLEXPR_x64_ENU.exe
ExpressAdv 32BIT\SQLEXPRADV_x86_ENU.exe
ExpressAdv 64BIT\SQLEXPRADV_x64_ENU.exe
ExpressAndTools 32BIT\SQLEXPRWT_x86_ENU.exe
ExpressAndTools 64BIT\SQLEXPRWT_x64_ENU.exe
LocalDB 32BIT\SqlLocalDB.msi
LocalDB 64BIT\SqlLocalDB.msi
MgmtStudio 32BIT\SQLManagementStudio_x86_ENU.exe
MgmtStudio 64BIT\SQLManagementStudio_x64_ENU.exe
sql-server-express
  • 2 个回答
  • 34011 Views
Martin Hope
MacGyver
Asked: 2015-08-20 08:33:59 +0800 CST

如何在 Informatica 中为 Netezza 作为源和 SQL Server 作为目标提高 ETL 性能?

  • 2

可以更改 Informatica 服务器、Informatica 软件本身或数据库服务器上的哪些设置或配置以增加 Informatica ETL 吞吐量?我们可以设置哪些基准来解决性能问题?我们专门使用 Netezza 作为源和 SQL Server 作为目标。

请从这个问题中排除多线程和 Informatica 分区。

这是我们过去做过的:

  • 每隔一段时间重新启动服务器
  • 在 ETL 加载之前删除 SQL Server 中目标表上的索引
  • 提高提交级别
sql-server netezza
  • 2 个回答
  • 3009 Views
Martin Hope
MacGyver
Asked: 2015-07-24 18:59:07 +0800 CST

多线程 Informatica 连接以在目标数据库服务器上使用不同的处理器

  • 1

请参阅此问题以供参考。

从 Informatica 到 SQL Server 的数据流可以是多线程的吗?

我的大部分问题都解决了。我把一张大桌子分成了四张小桌子。我现在将数据从四个源表移动到四个目标表。每个都在自己的映射中。在 Workflow Manager 中,每个映射都是一个单独的会话,位于其自己的工作流中。然后我有一个主工作流,其中有四个命令任务调用这四个工作流。

如何隔离连接,以便每个命令都连接到目标 SQL Server 数据库,以便每个命令在不同的处理器上运行?

在此处输入图像描述

编辑:

Informatica 还具有称为“分区”的功能,这正是我在这里所做的。它可以根据需要拆分数据。但是有一些 Informatica 服务器级别的设置可以实现这一点。

sql-server connections
  • 1 个回答
  • 1590 Views
Martin Hope
MacGyver
Asked: 2015-04-30 07:11:08 +0800 CST

禁用索引和删除约束并重建 SQL Server 表的最快方法

  • 2

下面是我们在具有数十亿条记录的表上运行的一些 T-SQL 命令。数据库的大部分大小都被这样的 5 个表占用。在不引起任何问题的情况下执行这些步骤的最快方法是什么?运行第一个命令需要一个多小时。删除整个表并重新创建它会更容易吗?或者,有这么多数据是不可能和安全的吗?谁能想到任何其他想法来加快速度?我们只是试图截断数据,然后在我们的 ETL 过程中从头开始重建表。

        DROP INDEX [OF_IDX_ClusteredConcept] ON [dbo].[OBS_FACT] WITH ( ONLINE = OFF )
        ALTER TABLE OBS_FACT DROP CONSTRAINT OBS_FACT_PK
        ALTER INDEX ALL ON OBS_FACT disable;

        -- add new data to OBS_FACT table via ETL process

        ALTER TABLE [dbo].[OBS_FACT] ADD CONSTRAINT [OBS_FACT_PK] PRIMARY KEY NONCLUSTERED 
        (
            [ENCOUNTER_NUM] ASC,
            [CONCEPT_CD] ASC,
            [PROVIDER_ID] ASC,
            [START_DATE] ASC,
            [MODIFIER_CD] ASC,
            [INSTANCE_NUM] ASC
        ) ON [PRIMARY]

        CREATE CLUSTERED INDEX [OF_IDX_ClusteredConcept] ON [dbo].[OBS_FACT] 
        (
            [CONCEPT_CD] ASC
        );  

        -- REBUILD indexes on OBSERVATION_FACT
        ALTER INDEX ALL ON OBS_FACT REBUILD

通常,如果您尝试在不同的窗口中重新启动 SQL Server Management Studio,则 drop index 命令会在 SQL Server Management Studio 中导致此错误。

超过锁定请求超时期限(Microsoft SQL Server,错误:1222)

sql-server index
  • 1 个回答
  • 4160 Views
Martin Hope
MacGyver
Asked: 2015-04-14 08:40:31 +0800 CST

为什么 Informatica 在连接到 ODBC 数据源时挂起并提示“无响应”

  • 0

尝试打开此对话框时,Informatica 只是挂起。ODBC 连接存在于控制面板 > 管理工具 > ODBC 数据源中。

源分析器 > 源(菜单)> 从数据库导入

在此处输入图像描述

odbc informatica
  • 1 个回答
  • 1349 Views
Martin Hope
MacGyver
Asked: 2015-03-25 12:43:46 +0800 CST

是什么导致磁盘空间从 Informatica 负载增长到 SQL Server?

  • 0

我们一直在处理来自 Informatica 的 SQL Server 上的巨大磁盘增长。加载后,数据库增长到 2.4TB。数据库收缩后,它变为 1.05TB。什么可能导致这种情况发生?我们可以在 Informatica 和/或 SQL Server 中检查哪些设置以便下次运行来解决此问题或进行猜测/检查?

编辑:

使用 Informatica 映射移动数据有两种方法。使用 SQL 转换类型或使用具有 Informatica 开箱即用功能的内置数据流来使用 SQL 覆盖(直接运行 SQL)。在这种情况下,我们使用数据流。当使用数据流时,仍然使用直接 SQL,但 Informatica 在幕后创建 SQL 代码。我们以 1,000,000 条记录为增量加载。我想也许 Informatica 可能会告诉 SQL Server 在它加载时分配磁盘空间,但我什至不确定如果它这样做的话要寻找什么命令。

sql-server disk-space
  • 2 个回答
  • 678 Views
Martin Hope
MacGyver
Asked: 2014-12-06 07:31:33 +0800 CST

开源 PostgresSQL 的数据库存储限制

  • 0

我刚开始使用 PostgresSQL。几年前我安装 SQL Server Express 时,如果您没有安装完整版,通常会有数据库存储限制。我想我记得它是 4GB,但这可能已经改变了。在不购买额外许可证或硬件的情况下,PostgresSQL 是否存在数据库存储大小限制?那限制是多少?

postgresql database-size
  • 1 个回答
  • 2254 Views
Martin Hope
MacGyver
Asked: 2014-10-17 08:11:10 +0800 CST

ODBC 数据源管理员:驱动程序名称为空字符串

  • 0

下面您将看到 Windows 7 中警告的屏幕截图。为什么打开“数据源 (ODBC)”时会出现此错误?我该如何解决?如果你能给我一些关于从哪里开始寻找的提示,我可以对这个问题进行编辑以帮助诊断问题。

修复这个问题并不重要,因为我仍然可以添加新的数据源,但每次进入此对话框时都看​​到它很烦人。

控制面板 > 管理工具 > 数据源 (ODBC) > 单击“系统 DSN”选项卡

在此处输入图像描述

我注意到的另一件事是,当我第一次进入“系统 DSN”选项卡时,没有显示任何数据源。如果我单击“添加”然后取消,则列表将填充三个数据源。

windows odbc
  • 1 个回答
  • 1896 Views
Martin Hope
MacGyver
Asked: 2014-09-12 07:07:38 +0800 CST

此错误在 IBM Netezza Administrator 中意味着什么?- 错误:权限被拒绝“_VT_DISK_PARTITION”

  • 0

打开 IBM Netezza Administrator 时出现此错误是什么意思?

错误:对“_VT_DISK_PARTITION”的权限被拒绝

在此处输入图像描述

netezza ibm-netezza-administrator
  • 1 个回答
  • 1008 Views
Martin Hope
MacGyver
Asked: 2014-06-26 07:37:57 +0800 CST

Netezza LIKE 运算符未找到后续反斜杠

  • 0

当第一个字符包含反斜杠字符时,Netezza 能够在使用 LIKE 运算符时查找记录。但是当后续字符包含反斜杠字符时,它不能。我该如何纠正?

结果集有记录:

SELECT * FROM TABLENAME WHERE PATH LIKE '\some_path%'

结果集有 0 条记录:

SELECT * FROM TABLENAME WHERE PATH LIKE '\some_path\%'

character-set netezza
  • 1 个回答
  • 3610 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