How to completely move a table to another schema?

Поиск
Список
Период
Сортировка
От Chris Travers
Тема How to completely move a table to another schema?
Дата
Msg-id 1071041216.2212.73.camel@localhost.localdomain
обсуждение исходный текст
Ответы Re: How to completely move a table to another schema?  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-sql
Hi all;

I have a function which moves a table from one schema to another by
updating the relnamespace field of pg_class:

CREATE OR REPLACE FUNCTION move_relation(VARCHAR, VARCHAR, VARCHAR)
RETURNS BOOL
AS '
-- $1 is the table name
-- $2 is the source schema
-- $3 is the destination schema
--       UPDATE pg_catalog.pg_class       SET relnamespace = (SELECT oid FROM pg_catalog.pg_namespace
           WHERE nspname = $3)       WHERE relnamespace = (SELECT oid FROM pg_catalog.pg_namespace
        WHERE nspname = $2)               AND relname = $1;                                  UPDATE pg_catalog.pg_type
    SET typnamespace = (SELECT oid FROM pg_catalog.pg_namespace                               WHERE nspname = $3)
WHEREtypnamespace = (SELECT oid FROM pg_catalog.pg_namespace                               WHERE nspname = $2)
    AND typname = $1;                                                                                      SELECT
TRUE;
' LANGUAGE SQL;                                                    
Am I missing anything?  I have already had a few problems that led me to discover 
that I needed to put in the second update query.  Just figured I would check.

Best Wishes,
Chris Travers



В списке pgsql-sql по дате отправления:

Предыдущее
От: Olivier Hubaut
Дата:
Сообщение: Re: Bug in JDBC CREATE FUNCTION syntax?
Следующее
От: DHS Webmaster
Дата:
Сообщение: first of month