I appreciate your response, it is very helpful. I'd like to ask one more question. You referenced '"Frontend/Backend Protocol" section of PostgreSQL docs.' I have searched at:
http://developer.postgresql.org/pgdocs/postgres/protocol.html but couldn't find any discussion of this particular message type. Can you point me to the proper section or link? Thanks, Lou ... P Please consider the environment before printing this e-mail or any attachments. On Tue, Mar 1, 2011 at 4:08 PM, Tatsuo Ishii <[email protected]> wrote: > > I am using postgres 8.3.5 & pgpool 2.2.2 with: > > replication_mode = true > > load_balance_mode = true > > replicate_select = false > > reset_query_list = 'ABORT; RESET ALL; SET SESSION AUTHORIZATION > DEFAULT' > > master_slave_mode = false > > parallel_mode = false > > > > I run psql -p9999 -ddmaip -c"vacuum full verbose analyze ;" > > > > and get the following failure: > > > > INFO: vacuuming "pg_toast.pg_toast_58429" > > ERROR: kind mismatch among backends. Possible last query was: "vacuum > full > > verbose analyze ;" kind details are: 0[N] 1[C] > > HINT: check data consistency among db nodes > > server closed the connection unexpectedly > > This probably means the server terminated abnormally > > before or while processing the request. > > connection to server was lost > > > > This is because this toast table is only present in the primary: > > > > 0: psql -p9999 -ddmaip > > > > dmaip=# \d pg_toast.pg_toast_58429 > > TOAST table "pg_toast.pg_toast_58429" > > Column | Type > > ------------+--------- > > chunk_id | oid > > chunk_seq | integer > > chunk_data | bytea > > > > 0: psql -p2345 -ddmaip > > > > dmaip=# \d pg_toast.pg_toast_58429 > > TOAST table "pg_toast.pg_toast_58429" > > Column | Type > > ------------+--------- > > chunk_id | oid > > chunk_seq | integer > > chunk_data | bytea > > > > 1: psql -p 2345 > > > > dmaip=# \d pg_toast.pg_toast_58429 > > Did not find any relation named "pg_toast.pg_toast_58429". > > > > Questions: > > > > > > 1. Did this happen because the toast tables are not replicated? > > Yes. PostgreSQL assigned a toast table name by using OID, which is not > guaranteed to be replicated by pgpool. Toast table names are very > internal ones, and for ordinary SQL commands such as > SELECT/INSERT/UPDATE/DELETE should have no problem. > > > 2. Is there a way around this without shutting down this production > > system? > > It is not recommended to use VACUUM via pgpool. You should directly > connect to PostgreSQL and issue VACUUM command. > > > 3. Is there a way to avoid this in future? > > Ditto above. > > > 4. Does anyone know what the "N" means in: 0[N] 1[C]? > > DB node 0 gave you a NOTICE message, while DB node 1 gave you command > complete response, which is precisely explained in "Frontend/Backend > Protocol" section of PostgreSQL docs. > -- > Tatsuo Ishii > SRA OSS, Inc. Japan > English: http://www.sraoss.co.jp/index_en.php > Japanese: http://www.sraoss.co.jp >
_______________________________________________ Pgpool-general mailing list [email protected] http://pgfoundry.org/mailman/listinfo/pgpool-general
