É possível "marcar" um banco de dados PostgreSQL com metadados?
Aqui está meu caso de uso pretendido: Eu tenho um banco de dados que passa por várias etapas de fluxo de trabalho e seria bom registrar em algum lugar em um banco de dados que uma etapa foi executada. É claro que pode haver uma tabela dentro do banco de dados para registrar isso, mas não devo alterar o esquema para a tarefa em questão.
Poderia/deveria, por exemplo, opções personalizadas (por exemplo ALTER DATABASE db SET a.b = 'c'
, ) servir a esse propósito?
Como a_horse comentou , um COMMENT ON DATABASE db IS 'foo'; seria uma opção simples.
set_config()
as configurações são apenas para a duração da transação ou sessão. Se você precisar persistir informações além da sessão atual, isso não funcionará.Para uma contabilidade mais estruturada, talvez incluindo um carimbo de data/hora, etc., considere uma tabela de contabilidade em outro banco de dados no mesmo cluster de banco de dados - sem alterar o banco de dados em questão. (Talvez além de um comentário no banco de dados principal indicando o status atual.) Exemplo de sessão psql:
etc.
\c db_meta
é o meta-comando do psql para se conectar a um banco de dados.