sql >> Databáze >  >> RDS >> PostgreSQL

pomocí schémat v postgresql

Parametr, který hledáte, je search_path - který uvádí schémata, do kterých se dotaz podívá. Můžete tedy udělat něco jako:

CREATE TABLE schema1.tt ...
CREATE TABLE schema2.tt ...
CREATE FUNCTION schema1.foo() ...
CREATE FUNCTION schema2.foo() ...
SET search_path = schema1, something_else;
SELECT * FROM tt;        -- schema1.tt
SELECT * FROM schema2.tt -- schema2.tt
SELECT foo();            -- calls schema1.foo
SELECT schema2.foo();    -- calls schema2.foo

Všimněte si, že pokud se plán dotazu uloží do těla funkce foo(), můžete získat neočekávané výsledky. Doporučuji, abyste vždy explicitně uváděli schémata pro odkazované tabulky ve funkcích plpgsql, pokud používáte duplicitní tabulky. Pokud ne, ujistěte se, že máte na místě testování pro kontrolu chování pomocí chaning search_path.

Oh - můžete také explicitně nastavit cestu hledání pro tělo funkce - podrobnosti najdete v příručce CREATE FUNCTION.




  1. Změnit časové pásmo Google Cloud SQL CURRENT_TIMESTAMP?

  2. Testování připojení k databázi Entity Framework

  3. Konfigurace upozornění na e-mail databáze v MS SQL Server

  4. Použití MySqlConnection (.NET) k připojení SSL k serveru MySql selže z určitých klientů