簡體   English   中英

通過 PHP 訪問 PostgreSQL 數據庫中的特定模式

[英]Access a specific schema in a PostgreSQL database via PHP

我有一個帶有 5 個模式的 PostgreSQL 數據庫userdb

Schema 1- Persons
Schema 2- Project
Schema 3- Shop
Schema 4- Test

我能夠使用pg_connect連接到數據庫。 如何訪問該數據庫中的特定模式?

當數據庫中只有一個模式時,我能夠連接到模式。 但是現在由於我有多個模式,我很難訪問任何特定的模式。

 <?php
 // attempt a connection
 $dbh = pg_connect("host=**.****.*******.*** dbname=test user=merlin port=5433 password=passw123");
 if (!$dbh) {
     die("Error in connection test: " . pg_last_error());
 } 
// execute query
 $sql = "SELECT * FROM test.country";
 $result = pg_query($dbh, $sql);
 if (!$result) {
     die("Error in SQL query: " . pg_last_error());
 }       

 // iterate over result set
 // print each row
 while ($row = pg_fetch_array($result)) {
     echo "Country code: " . $row[0] . "<br />";
     echo "Country name: " . $row[1] . "<p />";
 }       

 // free memory
 pg_free_result($result);       

 // close connection
 pg_close($dbh);      
?>

使用模式名稱限定表

select *
from my_schema.aircraft

按照Clodoaldo 已經建議的方式對表名進行模式限定。 或者將search_path設置為永久效果。 它的工作原理很像文件系統中的搜索路徑。

如何永久取決於你如何設置它。 看:

利用:
將搜索路徑設置為 myschema; 或者

將搜索路徑設置為 myschema,myschemab;

https://www.postgresql.org/docs/9.4/static/ddl-schemas.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM