Hi 2018-04-17 16:14 GMT+02:00 Arthur Zakirov <a.zaki...@postgrespro.ru>:
> Hello Pavel, > > On Thu, Oct 26, 2017 at 09:21:24AM +0200, Pavel Stehule wrote: > > I hope so this proposal is good enough and simple. > > > > Comments, notes? > > As I understood variables are stored in pg_class table. Did you consider > storing variables in a special catalog table? It can be named as > pg_variable. > > pg_variable table requires more code of course, but it would fix the > issues: > - pg_class has a lot attributes which are not related with variables, > and I think variables don't need many of them > - in a future variables might want to have some additional attributes > which are not needed for relations, you can easily add them to > pg_variable > > What do you think? > I though about it, and I am inclined to prefer pg_class instead separate tables. It true, so there are lot of "unused" attributes for this purpose, but there is lot of shared attributes, and lot of shared code. Semantically, I see variables in family of sequences, tables, indexes, views. Now, it shares code, and I hope in next steps more code can be shared - constraints, triggers. There are two objective arguments for using pg_class: 1. unique name in schema - it reduces risk of collisions 2. sharing lot of code So in this case I don't see well benefits of separate table. Regards Pavel > > -- > Arthur Zakirov > Postgres Professional: http://www.postgrespro.com > Russian Postgres Company >