| From: | Nathan Bossart <nathandbossart(at)gmail(dot)com> |
|---|---|
| To: | "Ryo Matsumura (Fujitsu)" <matsumura(dot)ryo(at)fujitsu(dot)com> |
| Cc: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
| Subject: | Re: DDL result is lost by CREATE DATABASE with WAL_LOG strategy |
| Date: | 2023-02-16 00:06:59 |
| Message-ID: | 20230216000659.GA1932550@nathanxps13 |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Wed, Feb 15, 2023 at 04:49:38AM +0000, Ryo Matsumura (Fujitsu) wrote:
> The above is occured by the following call.
> The argument 'permanent' of ReadBufferWithoutRelcache() is passed to
> BufferAlloc() as 'relpersistence'.
>
> [src/backend/commands/]
> 298 buf = ReadBufferWithoutRelcache(rnode, MAIN_FORKNUM, blkno,
> 299 RBM_NORMAL, bstrategy, false);
Indeed, setting that to true (as per the attached patch) seems to fix this.
I don't see any reason this _shouldn't_ be true from what I've read so far.
We're reading pg_class, which will probably never be UNLOGGED.
--
Nathan Bossart
Amazon Web Services: https://aws.amazon.com
| Attachment | Content-Type | Size |
|---|---|---|
| create_db_fix.patch | text/x-diff | 529 bytes |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2023-02-16 00:12:45 | Re: Silent overflow of interval type |
| Previous Message | Peter Smith | 2023-02-15 23:31:13 | Re: Perform streaming logical transactions by background workers and parallel apply |