Обсуждение: Is CREATE TABLE non-blocking ?
Hello,
We have an issue with tables creations in our application.No, it's not.
What might happen, though, is that you call your callback before the transaction with create table got committed.On Wed, Jul 23, 2014 at 12:33 PM, Benjamin Dugast <bdugast@excilys.com> wrote:
What can we do to avoid this problem?We tried to use a Thread.sleep() just before the insert and it works but we can't stay with this.We think CREATE TABLE returns before the tables are created. Because this looks like a non-blocking operation, our inserts (in a callback) are actually happening before the tables are created.Hello,We have an issue with tables creations in our application.
Benjamin Dugast wrote > Hello, > > We have an issue with tables creations in our application. > > We think CREATE TABLE returns before the tables are created. Because this > looks like a non-blocking operation, our inserts (in a callback) are > actually happening before the tables are created. > > We tried to use a Thread.sleep() just before the insert and it works but > we > can't stay with this. > > What can we do to avoid this problem? Nothing in the server is asynchronous (expect maybe notify/listen) but that doesn't prevent you from interacting with the server in an asynchronous way client-side. Showing code usually helps people provide suggestions on how to avoid a problem. David J. -- View this message in context: http://postgresql.1045698.n5.nabble.com/Is-CREATE-TABLE-non-blocking-tp5812506p5812524.html Sent from the PostgreSQL - sql mailing list archive at Nabble.com.
We finally solved our problem,
Thanks for your help.
2014-07-23 15:43 GMT+02:00 hubert depesz lubaczewski <depesz@gmail.com>:
depeszNo, it's not.What might happen, though, is that you call your callback before the transaction with create table got committed.On Wed, Jul 23, 2014 at 12:33 PM, Benjamin Dugast <bdugast@excilys.com> wrote:What can we do to avoid this problem?We tried to use a Thread.sleep() just before the insert and it works but we can't stay with this.We think CREATE TABLE returns before the tables are created. Because this looks like a non-blocking operation, our inserts (in a callback) are actually happening before the tables are created.Hello,We have an issue with tables creations in our application.
On 07/23/2014 09:13 AM, Benjamin Dugast wrote:
And the solutions was....We finally solved our problem,Thanks for your help.2014-07-23 15:43 GMT+02:00 hubert depesz lubaczewski <depesz@gmail.com>:depeszNo, it's not.What might happen, though, is that you call your callback before the transaction with create table got committed.On Wed, Jul 23, 2014 at 12:33 PM, Benjamin Dugast <bdugast@excilys.com> wrote:What can we do to avoid this problem?We tried to use a Thread.sleep() just before the insert and it works but we can't stay with this.We think CREATE TABLE returns before the tables are created. Because this looks like a non-blocking operation, our inserts (in a callback) are actually happening before the tables are created.Hello,We have an issue with tables creations in our application.
So the solution was a simple problem in our program that send some INSERT requests before we actually CREATE our tables.
On our second test environment that is much slower, the application shut down instantly because of the tables were not created.
2014-07-23 17:13 GMT+02:00 Benjamin Dugast <bdugast@excilys.com>:
We finally solved our problem,Thanks for your help.2014-07-23 15:43 GMT+02:00 hubert depesz lubaczewski <depesz@gmail.com>:depeszNo, it's not.What might happen, though, is that you call your callback before the transaction with create table got committed.On Wed, Jul 23, 2014 at 12:33 PM, Benjamin Dugast <bdugast@excilys.com> wrote:What can we do to avoid this problem?We tried to use a Thread.sleep() just before the insert and it works but we can't stay with this.We think CREATE TABLE returns before the tables are created. Because this looks like a non-blocking operation, our inserts (in a callback) are actually happening before the tables are created.Hello,We have an issue with tables creations in our application.