我试图改变一个数据库的名称,以包括今天的日期和PostgreSQL中使用查询的注解。
到目前为止,我已经成功地改变了名称,包括日期
\c postgres
SELECT
pg_terminate_backend(pid)
FROM
pg_stat_activity
WHERE
-- don't kill my own connection!
pid <> pg_backend_pid()
-- don't kill the connections to other databases
AND datname = 'sdm'
;
DO $$
BEGIN
EXECUTE format ('ALTER DATABASE %I RENAME TO %I_%s', 'sdm', 'sdm', to_char(current_date,'YYYYMMDD')::TEXT);
END
$$;
字符串
以及一个在数据输出中显示注解的查询。
SELECT pg_catalog.shobj_description(d.oid, 'pg_database') AS "Description"
FROM pg_catalog.pg_database d
WHERE datname = 'sdm';
型
是否可以将注解的数据输出保存到一个变量中,并使用它来重命名数据库?
1条答案
按热度按时间1aaf6o9v1#
你不需要变量,因为你几乎可以在SQL语句的任何地方使用子查询:
字符串