回复: WAL Insertion Lock Improvements

2023-03-22 Thread adherent postgres
Hi Andres Freund
This patch improves performance significantly,Commitfest 2023-03 is coming 
to an end,Is it not submitted yet since the patch still needs to be improved?

Best wish

发件人: Nathan Bossart 
发送时间: 2023年2月21日 13:49
收件人: Bharath Rupireddy 
抄送: Andres Freund ; PostgreSQL Hackers 

主题: Re: WAL Insertion Lock Improvements

On Thu, Feb 09, 2023 at 11:51:28AM +0530, Bharath Rupireddy wrote:
> On Thu, Feb 9, 2023 at 3:36 AM Nathan Bossart  
> wrote:
>> Overall, I think this patch is in reasonable shape.
>
> Thanks for reviewing. Please see the attached v5 patch.

I'm marking this as ready-for-committer.  I think a couple of the comments
could use some small adjustments, but that probably doesn't need to hold up
this patch.

--
Nathan Bossart
Amazon Web Services: https://aws.amazon.com




Re: Add 64-bit XIDs into PostgreSQL 15

2022-12-30 Thread adherent postgres
Hi Maxim Orlov:


>AFAICS, we have a following options:
>1. Making "true" 64�Cbit XIDs. I.e. making every tuple have 64�Cbit xmin and 
>>xmax fields.
>2. Put special in every page where base for XIDs are stored. This is what we 
>>have done in the current patch set.
>3. Put base for XIDs in a fork.
>4. Make explicit 64�Cbit XIDs for concrete relations. I.e. CREATE TABLE foo 
>>WITH (xid8) of smth.

I think the first solution will not be agreed by the core committers, they will 
consider that the change is too big and will affect the stability of 
PostgreSQL,I   think the second solution is actually quite good, and you've 
been working on it now,and there are successful cases (opengauss is implemented 
in this way,In order to save space and be compatible with older versions, 
opengauss design is to store the xmin/xmax of the head of the tuple in two 
parts, the xmin/xmax of the head of the tuple is the number of uint32; the 
header of the page stores the 64-bit xid_base, which is the xid_base of the 
current page.),I think it's best to stick to this solution now.
Opengauss  tuple structure:
[cid:3fae289c-7f88-46be-a775-2d93b1a9c41e]
Best wish





发件人: Maxim Orlov 
发送时间: 2022年12月28日 18:14
收件人: Pavel Borisov 
抄送: Robert Haas ; Chris Travers ; 
Bruce Momjian ; Aleksander Alekseev 
; pgsql-hackers@lists.postgresql.org 
; Chris Travers ; 
Peter Geoghegan ; Fedor Sigaev ; Alexander 
Korotkov ; Konstantin Knizhnik ; 
Nikita Glukhov ; Yura Sokolov 
; Simon Riggs 
主题: Re: Add 64-bit XIDs into PostgreSQL 15

Hi!

I want to make a quick summary here.

1. An overall consensus has been reached: we shall focus on committing SLRU 
changes first.
2. I've created an appropriate patch set here [0].
3. How [0] is waiting for a review. As always, all opinions will be welcome.
4. While discussing error/warning messages and some other stuff, this thread 
was marked as "Waiting on Author".
5. I do rebase this patch set once in a week, but do not post it here, since 
there is no need in it. See (1).
6. For now, I don't understand what changes I have to make here. So, does 
"Waiting on Author" is appropriate status here?

Anyway. Let's discuss on-disk page format, shall we?

AFAICS, we have a following options:
1. Making "true" 64�Cbit XIDs. I.e. making every tuple have 64�Cbit xmin and 
xmax fields.
2. Put special in every page where base for XIDs are stored. This is what we 
have done in the current patch set.
3. Put base for XIDs in a fork.
4. Make explicit 64�Cbit XIDs for concrete relations. I.e. CREATE TABLE foo 
WITH (xid8) of smth.

There were opinions that the proposed solution (2) is not the optimal. It would 
be great to hear your concerns and thoughts.

[0] 
https://www.postgresql.org/message-id/CACG%3Dezav34TL%2BfGXD5vJ48%3DQbQBL9BiwkOTWduu9yRqie-h%2BDg%40mail.gmail.com

--
Best regards,
Maxim Orlov.


回复: Add 64-bit XIDs into PostgreSQL 15

2022-12-09 Thread adherent postgres
Hi Chris Travers
 Robertmhaas said that the project Zheap is 
dead(https://twitter.com/andy_pavlo/status/1590703943176589312), which means 
that we cannot use Zheap to deal with the issue of xid wraparound and dead 
tuples in tables. The dead tuple issue is not a big deal because I can still 
use pg_repack to handle, although pg_repack will cause wal log to increase 
dramatically and may take one or two days to handle a large table. During this 
time the database can be accessed by external users, but the xid wraparound 
will cause PostgreSQL to be down, which is a disaster for DBAs. Maybe you are 
not a DBA, or your are from a small country, Database system tps is very low, 
so xid32 is  enough for your database system ,  Oracle's scn was also 32bits, 
however, Oracle realized the issue and changed scn to 64 bits. The transaction 
id in mysql is 48 bits. MySQL didn't fix the transaction id wraparound problem 
because they think that 48 bits is enough for the transaction id. This project 
has been running for almost 1 year and now it is coming to an end. I strongly 
disagree with your idea of stopping this patch, and I suspect you are a 
saboteur. I strongly disagree with your viewpoint, as it is not a fundamental 
way to solve the xid wraparound problem. The PostgreSQL community urgently 
needs developers who solve problems like this, not bury one' head in the sand


Best whish


发件人: Peter Geoghegan 
发送时间: 2022年12月1日 0:35
收件人: Robert Haas 
抄送: Chris Travers ; Bruce Momjian ; 
Aleksander Alekseev ; 
pgsql-hackers@lists.postgresql.org ; Chris 
Travers ; Fedor Sigaev ; Alexander 
Korotkov ; Konstantin Knizhnik ; 
Nikita Glukhov ; Yura Sokolov 
; Maxim Orlov ; Pavel Borisov 
; Simon Riggs 
主题: Re: Add 64-bit XIDs into PostgreSQL 15

On Wed, Nov 30, 2022 at 8:13 AM Robert Haas  wrote:
> I haven't checked the patches to see whether they look correct, and
> I'm concerned in particular about upgrade scenarios. But if there's a
> way we can get that part committed, I think it would be a clear win.

+1

--
Peter Geoghegan




Re: Add 64-bit XIDs into PostgreSQL 15

2022-12-09 Thread adherent postgres
Hi Aleksander Alekseev
 I think the xids 32bit transformation project has been dragged on for too 
long. Huawei's openGauss referenced this patch to implement xids 64bit, and 
Postgrespro also implemented xids 64bit, which is enough to prove that their 
worries are redundant.I think postgresql has no reason not to implement xid 64 
bit. What about your opinion?

Best whish

发件人: Aleksander Alekseev 
发送时间: 2022年12月9日 20:49
收件人: pgsql-hackers@lists.postgresql.org 
抄送: adherent postgres ; Chris Travers 
; Chris Travers ; Bruce Momjian 

主题: Re: Add 64-bit XIDs into PostgreSQL 15

Hi adherent,

>  Robertmhaas said that the project Zheap is 
> dead(https://twitter.com/andy_pavlo/status/1590703943176589312), which means 
> that we cannot use Zheap to deal with the issue of xid wraparound and dead 
> tuples in tables. The dead tuple issue is not a big deal because I can still 
> use pg_repack to handle, although pg_repack will cause wal log to increase 
> dramatically and may take one or two days to handle a large table. During 
> this time the database can be accessed by external users, but the xid 
> wraparound will cause PostgreSQL to be down, which is a disaster for DBAs. 
> Maybe you are not a DBA, or your are from a small country, Database system 
> tps is very low, so xid32 is  enough for your database system ,  Oracle's scn 
> was also 32bits, however, Oracle realized the issue and changed scn to 64 
> bits. The transaction id in mysql is 48 bits. MySQL didn't fix the 
> transaction id wraparound problem because they think that 48 bits is enough 
> for the transaction id. This project has been running for almost 1 year and 
> now it is coming to an end. I strongly disagree with your idea of stopping 
> this patch, and I suspect you are a saboteur. I strongly disagree with your 
> viewpoint, as it is not a fundamental way to solve the xid wraparound 
> problem. The PostgreSQL community urgently needs developers who solve 
> problems like this, not bury one' head in the sand

This is not uncommon for people on the mailing list to have
disagreements. This is part of the process, we all are looking for
consensus. It's true that different people have different use cases in
mind and different backgrounds as well. It doesn't mean these use
cases are wrong and/or the experience is irrelevant and/or the
received feedback should be just discarded.

Although I also expressed my disagreement with Chris before, let's not
assume any bad intent and especially sabotage as you put it. (Unless
you have a strong proof of this of course which I doubt you have.) We
want all kinds of feedback to be welcomed here. I'm sure our goal here
is mutual, to make PostgreSQL even better than it is now. The only
problem is that the definition of "better" varies sometimes.

I see you believe that 64-bit XIDs are going to be useful. That's
great! Tell us more about your case and how the patch is going to help
with it. Also, maybe you could test your load with the applied
patchset and tell us whether it makes things better or worse?
Personally I would love hearing this from you.

--
Best regards,
Aleksander Alekseev


回复: Add 64-bit XIDs into PostgreSQL 15

2022-12-09 Thread adherent postgres
Hi Pavel Borisov
Now the disk performance has been improved many times, and the capacity has 
also been increased many times,The wal log already supports lz4 and zstd 
compression, I think each XLOG record size will increase at least by 4 bytes 
which is not a big problem.What about your opinion?

Best whish



发件人: Pavel Borisov 
发送时间: 2022年12月9日 22:13
收件人: adherent postgres 
抄送: Aleksander Alekseev ; 
pgsql-hackers@lists.postgresql.org ; Chris 
Travers ; Chris Travers ; Bruce 
Momjian 
主题: Re: Add 64-bit XIDs into PostgreSQL 15

Hi, Adherent!

On Fri, 9 Dec 2022 at 17:54, adherent postgres
 wrote:
>
> Hi Aleksander Alekseev
>  I think the xids 32bit transformation project has been dragged on for too 
> long. Huawei's openGauss referenced this patch to implement xids 64bit, and 
> Postgrespro also implemented xids 64bit, which is enough to prove that their 
> worries are redundant.I think postgresql has no reason not to implement xid 
> 64 bit. What about your opinion?

I agree it's high time to commit 64xids into PostgreSQL.

If you can do your review of the whole proposed patchset or only the
part that is likely to be committed earlier [1] it would help a lot!
I'd recommend beginning with the last version of the patch in thread
[1]. First, it is easier. Also, this review is going to be useful
sooner and will help a committer on January commitfest a lot.
[1]: 
https://www.postgresql.org/message-id/CAFiTN-uudj2PY8GsUzFtLYFpBoq_rKegW3On_8ZHdxB1mVv3-A%40mail.gmail.com

Regards,
Pavel Borisov,
Supabase