标签: search-path

如何检查给定模式中是否存在表

Postgres 8.4及更高版本的数据库包含public模式中的模式和公司特定表中的公用表company.
company模式名称始终'company'以公司编号开头并以公司编号结束.
所以可能有以下模式:

public
company1
company2
company3
...
companynn
Run Code Online (Sandbox Code Playgroud)

应用程序始终适用于单个公司.
search_path相应指定在ODBC或连接Npgsql的字符串,如:

search_path='company3,public'
Run Code Online (Sandbox Code Playgroud)

如何检查给定表是否存在于指定的companyn模式中?

例如:

select isSpecific('company3','tablenotincompany3schema')
Run Code Online (Sandbox Code Playgroud)

应该返回false,并

select isSpecific('company3','tableincompany3schema')
Run Code Online (Sandbox Code Playgroud)

应该回来true.

在任何情况下,该函数应仅检查companyn传递的模式,而不检查其他模式.

如果两者public和传递的模式中都存在给定的表,则该函数应该返回true.
它适用于Postgres 8.4或更高版本.

sql database postgresql information-schema search-path

133
推荐指数
2
解决办法
14万
查看次数

search_path如何影响标识符解析和"当前架构"

是否可以定义默认情况下创建新表的模式?(由"不合格的表名称"引用.)

我已经看到了在Postgres中使用"搜索路径"的一些细节,但我认为它只在检索数据时有效,而不是创建.

我有一堆SQL脚本,它们创建了许多表.我没有修改脚本,而是希望默认情况下在特定模式中设置数据库创建表 - 当它们具有非限定名称时.

这可能吗?

postgresql schema search-path database-table

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

Xcode 5框架/库搜索路径绝对地址

我将我的Xcode更新为5.0.我添加了一些库/框架搜索路径,它显示的路径是绝对路径.例如,如果我的文件夹在我的桌面上,它将显示/ Users/username/Desktop /"foldername"/"subfolder"/"subfolder"/"framework".因此,每当我在另一个mac中检出一个工作副本时,我必须删除对某些库/框架的引用并重新添加它们.是否有办法修复它,我不需要删除 - 添加再次参考?

xcode frameworks search-path ios xcode5

31
推荐指数
2
解决办法
5万
查看次数

控制Xcode将包含哪个项目头文件

我的Xcode项目使用两个目标构建到同一产品的变体.两者之间的区别仅在于使用了哪个版本的库.对于.c源文件,使用目标复选框可以很容易地将正确的版本分配给正确的目标.但是,包括头文件始终包含相同的头文件.这对于一个目标是正确的,但对另一个目标则是错误的.

有没有办法控制每个目标包含哪个头文件?

这是我的项目文件层次结构(在Xcode中复制):

MyProject
  TheirOldLib
    theirLib.h
    theirLib.cpp
  TheirNewLib
    theirLib.h
    theirLib.cpp
myCode.cpp
Run Code Online (Sandbox Code Playgroud)

和myCode.cpp做的事情如下:

#include "theirLib.h"
…
somecode()
{
#if OLDVERSION
  theirOldLibCall(…);
#else
  theirNewLibCall(…);
#endif
}
Run Code Online (Sandbox Code Playgroud)

当然,我OLDVERSION为一个目标而不是另一个目标定义.

注意#include必须如图所示.以下两个都失败,找不到文件错误:

#include "TheirOldLib/theirLib.h"
#include "TheirNewLib/theirLib.h"
Run Code Online (Sandbox Code Playgroud)

那么有没有办法告诉Xcode哪个theirLib.h包含每个目标?

约束:
- 两个头文件具有相同的名称.作为最后的手段,我可​​以重命名其中一个,但我宁愿避免这样做,因为这将导致其他平台上的主要头发.
- 必须更改#include添加对封闭文件夹的引用也是我宁愿避免的,因为我需要使用条件编译指令执行两次.
- 我可以自由地调整我的项目,因为我认为合适

谢谢你的帮助.

xcode include search-path

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

在XCode中包含来自自定义框架的标头

我应该调整FRAMEWORK_SEARCH_PATHS还是HEADER_SEARCH_PATHS在向项目添加自定义框架时?

我将MainProject.xcodeproject这些链接SomeFramework.framework简单地从"产品"拖到SomeFramework.xcodeproject主项目中的"与二进制库链接"构建阶段.

Framework包含其Headers目录中的所有必需标头.但是,在我的项目中,我不能简单地使用:

#import <SomeFramework.h> // I'm pretty sure this file exists
Run Code Online (Sandbox Code Playgroud)

包括此标题.构建失败"没有这样的文件或目录".编译器标志包括-F…/SomeFramework/build/Release,该目录包含带有Headers目录符号链接的框架.

(顺便说一句:这适用于Mac OS X.我不关心iPhone.)

xcode frameworks header include search-path

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

PostgreSQL search_path更改不像宣传的那样工作

我在RedHat上使用PostgreSQL 9.0.3.该数据库包含两个模式,publicwh.我创建了一个名为的新角色django.我希望此用户使用wh架构,因为它是默认的.

按照手册,我做了:

ALTER USER django SET SEARCH_PATH TO wh, public;
Run Code Online (Sandbox Code Playgroud)

这似乎有效:

SHOW SEARCH_PATH;
search_path 
-------------
wh, public
Run Code Online (Sandbox Code Playgroud)

但是,如果我然后执行a \dt,则仅显示公共模式中的表.在手册中,更改搜索路径应立即生效,我应该能够访问wh没有前缀的表,但事实并非如此.登录和注销会保留更改,search_path但不会显示任何行为更改.

我错过了什么?

postgresql privileges search-path

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

如何在Yii2中设置默认架构

我的Yii2是用PostgreSQL设置的.我不喜欢每个项目使用单独的数据库,而是喜欢为每个项目使用模式.稍后设置的问题是我无法弄清楚如何通过配置选择默认模式"defaultSchema".

我遇到迁移表的问题,因为我在运行迁移命令时默认为"公共"模式.默认的"public"架构也会阻止使用数据库用户的search_path.虽然我使用"search_path = myschema,public"设置我的db用户但是我仍然无法在没有其他配置的情况下使用迁移,因为在运行时Yii在表名中查找模式,如果没有提供,则回退到defaultSchema,所以无论如何你在数据库用户的search_path中拥有的内容仍将使用"public.migrations".

在Yii2中设置默认架构的最佳方法是什么?是否有为模式选择指定的配置参数?毕竟每个连接都将使用一个模式,最好通过连接配置进行设置.

migration postgresql database-schema search-path yii2

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

由于搜索路径上的名称冲突,如何在R中取消屏蔽函数

当我加载包debug来调试带有zoo对象的脚本时,我遇到了麻烦:函数index来自zoodebug包掩盖.我该怎么解开index?一般来说,如何处理这些名称冲突问题?我们只是不使用debug"动物园"包?

r package search-path name-collision

10
推荐指数
2
解决办法
7266
查看次数

如何使用MATLAB搜索路径

我对MATLAB搜索路径有一些疑问:

  1. 当前目录位于搜索路径上,但为什么它不在"path"的输出中?我在哪里可以找到完整的搜索路径?

  2. 添加搜索路径的所有可能方法是什么?

  3. 考虑添加搜索路径的所有可能方法(例如pathdef.m,startup.m,MATLABPATH env变量等),添加的搜索路径的顺序是什么?我认为这很重要,因为当不同搜索路径中存在同名文件时,将选择顶部的文件.

directory matlab path search-path

9
推荐指数
2
解决办法
8838
查看次数

用户不能使用扩展名"uuid-ossp"

我正在开发一个应用程序,我决定使用UUID作为主键和外键.为此,我使用了扩展名"uuid-ossp",它在开发环境中运行良好.

现在,我正在安装测试环境.数据库设置由客户制作的脚本强加.结构是标准的:admin用户,应用程序用户,应用程序命名空间等.

我可以使用admin帐户创建扩展程序:

$ psql mydb -U [admin_user]

mydb=# CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
CREATE EXTENSION

mydb=# select uuid_generate_v4();
        uuid_generate_v4
--------------------------------------
 23e45b57-a658-41a5-8661-0cc06568eff8
Run Code Online (Sandbox Code Playgroud)

但是当我与数据库应用程序用户连接时,我无法生成一个uuid:

$ psql mydb -U [app_user]

SELECT uuid_generate_v4();

mydb=> select uuid_generate_v4();
ERROR:  function uuid_generate_v4() does not exist
Run Code Online (Sandbox Code Playgroud)

admin_user和app_user都在同一个数据库中.app_user可以"查看"扩展程序但不能使用它:

bdd3001=> select * from pg_catalog.pg_extension;
  extname  | [...]
-----------+-
 plpgsql   | [...]
 uuid-ossp | [...]
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

postgresql search-path postgresql-extensions

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