Thread: DDL in active production database

DDL in active production database

From
"Skelton, Adam J"
Date:

Hi,

 

I hope I have the correct group here.

 

I have a question that I am struggling to find answers for in the documentation.  Does Postgres have problems with creation / changes to database schema objects when the database is actively being used?

 

In particular – rightly or wrongly – our developers want our application to occasionally issue the following kinds of DDL when it’s in active use

 

Alter table ... add column ...

Create / drop materialised view ...

Create / drop table created with INHERITANCE

 

 

I know oracle hates this and you can run into some serious issues, SQL server generally lets you away with it.  

 

Should we expect problems if we decided to do this in the latest version of Postgres?

 

Thanks for your time.

Adam

The information contained in this message is proprietary and/or confidential. If you are not the intended recipient, please: (i) delete the message and all copies; (ii) do not disclose, distribute or use the message in any manner; and (iii) notify the sender immediately. In addition, please be aware that any message addressed to our domain is subject to archiving and review by persons other than the intended recipient. Thank you.

Re: DDL in active production database

From
"David G. Johnston"
Date:
On Sunday, September 24, 2023, Skelton, Adam J <Adam.Skelton@fisglobal.com> wrote:

 Does Postgres have problems with creation / changes to database schema objects when the database is actively being used?


It doesn’t have problems.  It does require locks that can preclude active use of those table for selects and updates while the DDL is processing.  Whether that is an issue for your application depends on the application.  And the duration required depending upon table size and the specific command.

David J.
 

Sv: DDL in active production database

From
Andreas Joseph Krogh
Date:
På mandag 25. september 2023 kl. 02:01:28, skrev Skelton, Adam J <Adam.Skelton@fisglobal.com>:

Hi,

 

I hope I have the correct group here.

 

I have a question that I am struggling to find answers for in the documentation.  Does Postgres have problems with creation / changes to database schema objects when the database is actively being used?

 

In particular – rightly or wrongly – our developers want our application to occasionally issue the following kinds of DDL when it’s in active use

 

Alter table ... add column ...

Create / drop materialised view ...

Create / drop table created with INHERITANCE

 

 

I know oracle hates this and you can run into some serious issues, SQL server generally lets you away with it.  

 

Should we expect problems if we decided to do this in the latest version of Postgres?

 

Thanks for your time.

Adam

The information contained in this message is proprietary and/or confidential. If you are not the intended recipient, please: (i) delete the message and all copies; (ii) do not disclose, distribute or use the message in any manner; and (iii) notify the sender immediately. In addition, please be aware that any message addressed to our domain is subject to archiving and review by persons other than the intended recipient. Thank you.

It will cause problems if you mix DDL and DML when having deferred constraints with following updates in the same TX.

 

--
Andreas Joseph Krogh
CTO / Partner - Visena AS
Mobile: +47 909 56 963
 
Attachment