Re: 'pg_global' cannot be used as default_tablespace.

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>, "zhoushulin1992(at)gmail(dot)com" <zhoushulin1992(at)gmail(dot)com>, "pgsql-docs(at)lists(dot)postgresql(dot)org" <pgsql-docs(at)lists(dot)postgresql(dot)org>
Subject: Re: 'pg_global' cannot be used as default_tablespace.
Date: 2023-11-01 23:34:59
Message-ID: ZULgo051ezZMnWvM@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-docs

On Wed, Nov 1, 2023 at 07:12:48PM -0400, Tom Lane wrote:
> Bruce Momjian <bruce(at)momjian(dot)us> writes:
> > On Wed, Nov 1, 2023 at 06:32:37PM -0400, Tom Lane wrote:
> >> But it *is* permissible, unless we add code to reject it during
> >> SET as Bruce mentioned. Which seems fairly pointless to me. It's not
> >> like there is anything unclear about the CREATE TABLE error message.
>
> > Yeah, from the report I thought something bad happened if you tried to
> > use it and that is why we had to document it. By documenting it we are
> > just giving the user advice before they get the error. I wrote up this
> > minimal patch which might have the right level of detail to avoid
> > errors, if people think this is useful.
>
> I think this will lead to just as much confusion, because people
> will read it and expect that SET will fail.
>
> If we need to document any more than we have now, we should point
> out in the CREATE TABLE man page that you can't create a table in
> the pg_global tablespace. That will cover both this case and the
> case of trying to select pg_global explicitly in the CREATE.
>
> Another idea could be to adjust this bit in manage-ag.sgml:
>
> Two tablespaces are automatically created when the database cluster
> is initialized. The
> - <literal>pg_global</literal> tablespace is used for shared system catalogs. The
> + <literal>pg_global</literal> tablespace is used for shared system catalogs,
> + and cannot be used for user-defined tables. The
> <literal>pg_default</literal> tablespace is the default tablespace of the

I like the manage-ag.sgml change myself.

--
Bruce Momjian <bruce(at)momjian(dot)us> https://momjian.us
EDB https://enterprisedb.com

Only you can decide what is important to you.

In response to

Responses

Browse pgsql-docs by date

  From Date Subject
Next Message Laurenz Albe 2023-11-02 07:56:13 Re: Documentation of return values of range functions lower and upper
Previous Message Tom Lane 2023-11-01 23:12:48 Re: 'pg_global' cannot be used as default_tablespace.