我正在使用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());
}
这是一个好习惯吗?有更好的方法吗?
答案 0 :(得分:13)
为了指定默认架构,您应该设置search_path。
$Conn->exec('SET search_path TO accountschema');
您还可以为每个数据库用户设置默认的search_path,在这种情况下,上述语句将变为多余。
ALTER USER user SET search_path TO accountschema;