Re: list of flags that pg_settings_get_flags reports

2022-07-20 Thread Michael Paquier
On Wed, Jul 20, 2022 at 01:51:36PM +0900, Fujii Masao wrote:
> Attached is the updated version of the patch. It separates the list
> for GUC flags from the table entry for pg_settings_get_flags() and
> adds the table for it at the bottom of the existing function table. 

Thanks a lot for sending a patch.  This looks fine to me.
--
Michael


signature.asc
Description: PGP signature


Re: list of flags that pg_settings_get_flags reports

2022-07-20 Thread Alvaro Herrera
Hello

On 2022-Jul-20, Fujii Masao wrote:

> Attached is the updated version of the patch. It separates the list
> for GUC flags from the table entry for pg_settings_get_flags() and
> adds the table for it at the bottom of the existing function table.

I lament the fact that the version of DocBook we use doesn't let us add
captions; it would be much better to have "Flags to use with function
pg_settings_get_flags()" under the table; unadorned, you have to guess
or search.  But that's already a problem with the other similar tables,
so let's just plow ahead.  +1 to this patch.

-- 
Álvaro Herrera   48°01'N 7°57'E  —  https://www.EnterpriseDB.com/




huge_page_size parameter description in the pg 14 docs is not exact

2022-07-20 Thread yanliang lei



https://www.postgresql.org/docs/15/runtime-config-resource.html#GUC-HUGE-PAGE-SIZE




the following is from the above website:

Some commonly available page sizes on modern 64 bit server architectures 
include: 

2MB and 1GB (Intel and AMD), 16MB and 16GB (IBM POWER), and 64kB, 2MB, 32MB and 
1GB (ARM). For more information about usage and support,




but after my test, I found that: 

in the RHEL7.9(kernel version 3.10.0-1160),when I set the non default huge page 
size for huge_page_size parameter ,PG14 can not start;

in the RHEL8.5(kernel version 4.18.0-348),when I set the non default huge page 
size for huge_page_size parameter ,PG14 can start 。




so ,
I think that:
the huge_page_size parameter description in the PostgreSQL 14 documents is not 
exact.




I suggest that :

Some one should modify the postgreSQL 14 
documents(https://www.postgresql.org/docs/15/runtime-config-resource.html#GUC-HUGE-PAGE-SIZE)
 like the following:

in the RHEL7.x (kernel version 3.10.0-xxx), huge_page_size parameter can not 
set to the non default huge page size.

Re: huge_page_size parameter description in the pg 14 docs is not exact

2022-07-20 Thread Bruce Momjian
On Wed, Jul 20, 2022 at 09:56:37PM +0800, yanliang lei wrote:
> 
> https://www.postgresql.org/docs/15/runtime-config-resource.html#
> GUC-HUGE-PAGE-SIZE
> 
> 
> the following is from the above website:
> 
> Some commonly available page sizes on modern 64 bit server architectures
> include: 
> 
> 2MB and 1GB (Intel and AMD), 16MB and 16GB (IBM POWER), and 64kB, 2MB, 32MB 
> and
> 1GB (ARM). For more information about usage and support,

I think these are the sizes the CPUs support, no necessarily the ones
that the operating system supports.

> but after my test, I found that: 
> 
> in the RHEL7.9(kernel version 3.10.0-1160),when I set the non default huge 
> page
> size for huge_page_size parameter ,PG14 can not start;
> 
> in the RHEL8.5(kernel version 4.18.0-348),when I set the non default huge page
> size for huge_page_size parameter ,PG14 can start 。

The paragraph begins with:

Some commonly available page sizes on modern 64 bit server
architectures include:

which seems sufficient to suggest that all listed sizes might not be
supported on all operating systems, and this is only supported on Linux,
as documented.

-- 
  Bruce Momjian  https://momjian.us
  EDB  https://enterprisedb.com

  Indecision is a decision.  Inaction is an action.  Mark Batterson





Re: list of flags that pg_settings_get_flags reports

2022-07-20 Thread Fujii Masao




On 2022/07/20 16:26, Michael Paquier wrote:

On Wed, Jul 20, 2022 at 01:51:36PM +0900, Fujii Masao wrote:

Attached is the updated version of the patch. It separates the list
for GUC flags from the table entry for pg_settings_get_flags() and
adds the table for it at the bottom of the existing function table.


Thanks a lot for sending a patch.  This looks fine to me.


Pushed. Thanks!

Regards,

--
Fujii Masao
Advanced Computing Technology Center
Research and Development Headquarters
NTT DATA CORPORATION




Re: list of flags that pg_settings_get_flags reports

2022-07-20 Thread Fujii Masao




On 2022/07/20 18:07, Alvaro Herrera wrote:

Hello

On 2022-Jul-20, Fujii Masao wrote:


Attached is the updated version of the patch. It separates the list
for GUC flags from the table entry for pg_settings_get_flags() and
adds the table for it at the bottom of the existing function table.


I lament the fact that the version of DocBook we use doesn't let us add
captions; it would be much better to have "Flags to use with function
pg_settings_get_flags()" under the table; unadorned, you have to guess
or search.


Or, though it's not a caption under the table, it's better to have "Flags to use 
with function pg_settings_get_flags()" in the title of the table as follows?

   
-   GUC Flags
+   GUC Flags To Use With Function pg_settings_get_flags()


Regards,

--
Fujii Masao
Advanced Computing Technology Center
Research and Development Headquarters
NTT DATA CORPORATION




Re: huge_page_size parameter description in the pg 14 docs is not exact

2022-07-20 Thread Thomas Munro
On Thu, Jul 21, 2022 at 2:03 AM Bruce Momjian  wrote:
> On Wed, Jul 20, 2022 at 09:56:37PM +0800, yanliang lei wrote:
> > https://www.postgresql.org/docs/15/runtime-config-resource.html#
> > GUC-HUGE-PAGE-SIZE
> >
> > the following is from the above website:
> >
> > Some commonly available page sizes on modern 64 bit server architectures
> > include:
> >
> > 2MB and 1GB (Intel and AMD), 16MB and 16GB (IBM POWER), and 64kB, 2MB, 32MB 
> > and
> > 1GB (ARM). For more information about usage and support,
>
> I think these are the sizes the CPUs support, no necessarily the ones
> that the operating system supports.

Yeah, that's just some sizes that the architecture *might* support.
Some eg laptop x86 chips might not have 1GB pages.  You could look at
the output of the cpuid program on Linux, or find similar info in
dmesg etc.  Then you need to tell the kernel to make some pages
available.  This message has some info from my testing of
huge_page_size:

https://www.postgresql.org/message-id/CA%2BhUKG%2BgdWThHi0v6TmiLgUE_rqqQ%2BPKw2t%2BkT6w08H36qzxpw%40mail.gmail.com