当前位置: 首页 > 面试题库 >

使用PHP PDO设置PostgreSQL模式的最佳选择

淳于哲
2023-03-14
问题内容

我使用PHP PDO访问具有各种模式的PostgreSQL数据库,因此首先创建一个连接,然后设置正确的模式,如下所示:

$Conn = new PDO('pgsql:host=localhost;port=5432;dbname=db', 'user', 'pass');

$result = $Conn->exec('SET search_path TO accountschema');

if ( ! $result) {
    die('Failed to set schema: ' . $Conn->errorMsg());
}

这是一个好习惯吗?有一个更好的方法吗?


问题答案:

为了指定默认架构,您应该改为设置search_path。

$Conn->exec('SET search_path TO accountschema');

您还可以为每个数据库用户设置默认的search_path,在这种情况下,以上语句将变得多余。

ALTER USER user SET search_path TO accountschema;


 类似资料:
  • 我在Windows7上使用i7处理器,我正在尝试使用Android SDK模拟器。然而,当我将像素密度设置为320并打开GPU时,它的仿真开始滞后和冻结,它的浏览器几乎无法使用(每秒1帧或更少)。 除了转移到Linux之外,还能做什么来使它顺利工作吗?我注意到GPU仿真对性能的影响最大。

  • 问题内容: 我想要在PostgreSQL中随机选择行,我尝试了以下方法: 但是其他一些建议: 我有一个很大的表,有5亿行,我希望它能很快。 哪种方法更好?有什么区别?选择随机行的最佳方法是什么? 问题答案: 根据您的要求(加上注释中的其他信息), 您有一个数字ID列(整数),并且只有很少(或很少有)间隙。 显然没有或只有很少的写操作。 您的ID列必须建立索引!主键很好用。 下面的查询不需要大表的顺

  • 为了提供良好的用户体验,实现需要做一些事情 视图中的 : 检查传递的筛选器参数是否有效 检查筛选器的类型(基于其他模型或自定义筛选器),以便将正确的条件应用于查询集 (可选)使筛选器累积的方法(即可以不断添加筛选器) 根据筛选器选择显示正确的结果集n 显示筛选器时,请识别应用的筛选器,以便当前应用的筛选器显示为文本,而不是超链接。

  • 问题内容: 我们正在将项目转换为使用Realm。到目前为止,特别是对于Realm Browser来说,我们印象深刻(非常方便!)。 结果,出现了一些问题,我们希望在进一步进行讨论之前先弄清一些具体的使用模式。我们的应用程序是多线程(API调用,动画等),因此在阅读问题时请记住这一点,因为我知道Realm实例无法(当前)跨线程访问。 我们应该如何担心重复创建Realm实例?开销是多少? 我们是否应该

  • 我试图为Keycloak使用Docker映像,但似乎无法为PostgreSQL中创建的表设置模式。 目前,所有表都在公共模式中结束。是否有一种方法可以指示Keycloak在模式中创建表?

  • 那么使用clientResponse()的最佳实践是什么?如果唯一的问题是应用程序不知道何时应该关闭连接,.exchange().block()会自动关闭连接吗?如果我应该使用.close()-我应该如何获得这个方法?也许我应该使用另一个版本的spring-webflux?或者也许还有另一种在Spring中检索响应主体和状态的最佳方法--WebFlux?