使用 PHP PDO 设置 PostgreSQL 架构的最佳替代方案
Posted
技术标签:
【中文标题】使用 PHP PDO 设置 PostgreSQL 架构的最佳替代方案【英文标题】:Best alternative to set a PostgreSQL schema using PHP PDO 【发布时间】:2014-03-09 23:04:57 【问题描述】:我正在使用 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());
这是一个好习惯吗?有没有更好的方法来做到这一点?
【问题讨论】:
【参考方案1】:为了指定默认架构,您应该设置search_path。
$Conn->exec('SET search_path TO accountschema');
您还可以为每个数据库用户设置默认的 search_path,在这种情况下,上面的语句就变得多余了。
ALTER USER user SET search_path TO accountschema;
【讨论】:
以上是关于使用 PHP PDO 设置 PostgreSQL 架构的最佳替代方案的主要内容,如果未能解决你的问题,请参考以下文章
PHP PostgreSQL PDO 无法使用 LIKE 绑定参数
为啥 PHP PDO DSN 是 MySQL 与 PostgreSQL 不同的格式?
在 Centos 7.6 上为 PostgreSQL 安装 PHP 7.4 PDO 驱动程序