[pgpool-general: 3915] Re: pgpool2 "invalid byte sequence for encoding "UTF8": 0xe5 0x02"

Tatsuo Ishii ishii at postgresql.org
Wed Aug 5 18:46:58 JST 2015


> thanx for answers
> please look at this part of log
> that is, data mangled and don't sending to backend, right?

No. The message "invalid byte sequence for encoding "UTF8": 0xe5 0x02"
comes from backend and pgpool-II just shows it. You did't mention if
1) is your case or not. So I ask you again: Do you set client encoding
to other than UTF-8?

Best regards,
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese:http://www.sraoss.co.jp

> Aug  5 09:18:20 pg1 pgpool: 2015-08-05 09:18:20: pid 14483: LOG:  fetch
> from memory cache
> Aug  5 09:18:20 pg1 pgpool: 2015-08-05 09:18:20: pid 14483: DETAIL:  query
> result fetched from cache. statement: SELECT 1
> 
> 
> Aug  5 09:18:20 pg1 pgpool: 2015-08-05 09:18:20: pid 14744: LOG:  DB node
> id: 0 backend pid: 14884 statement: Parse: INSERT INTO "clic"
> ("android_id", "app_id", "campaign_image_id", "campaign_url_id",
> "country_id", "created_at", "device_id", "ip", "type", "ua", "updated_at",
> "user_only", "white_sdk", "x_forwarded") VALUES
> ('ee543782-ace7-41fb-85e7-21022d132244', 5468, 937, 568, 42, '2015-08-05
> 09:18:20.501305', 673012, '85.99.1.1', 2, 'Dalvik/1.6.0 (Linux; U; Android
> 4.1.2; GT-I9105P Build/JZO54K)', '2015-08-05 09:18:20.501305', 'f', 't',
> '85.99.1.1') RETURNING "id"
> 
> 
> Aug  5 09:18:20 pg1 pgpool: 2015-08-05 09:18:20: pid 14744: LOG:
>  pool_send_and_wait: Error or notice message from backend: : DB node id: 0
> backend pid: 14884 statement: "INSERT INTO "clic" ("android_id", "app_id",
> "campaign_image_id", "campaign_url_id", "country_id", "created_at",
> "device_id", "ip", "type", "ua", "updated_at", "user_only", "white_sdk",
> "x_forwarded") VALUES ('ee543782-ace7-41fb-85e7-21022d132244', 5468, 937,
> 568, 42, '2015-08-05 09:18:20.501305', 673012, '85.99.1.1', 2,
> 'Dalvik/1.6.0 (Linux; U; Android 4.1.2; GT-I9105P Build/JZO54K)',
> '2015-08-05 09:18:20.501305', 'f', 't', '85.99.1.1') RETURNING "id""
> message: "invalid byte sequence for encoding "UTF8": 0xe5 0x02"
> 
> 
> Aug  5 09:18:20 pg1 pgpool: 2015-08-05 09:18:20: pid 14744: LOG:  Parse:
> Error or notice message from backend: : DB node id: 0 backend pid: 14884
> statement: "INSERT INTO "clic" ("android_id", "app_id",
> "campaign_image_id", "campaign_url_id", "country_id", "crHå#002" message:
> "invalid byte sequence for encoding "UTF8": 0xe5 0x02"
> 
> Aug  5 09:18:20 pg1 pgpool: 2015-08-05 09:18:20: pid 14744: LOG:
>  statement: ROLLBACK
> Aug  5 09:18:20 pg1 pgpool: 2015-08-05 09:18:20: pid 14744: LOG:  DB node
> id: 0 backend pid: 14884 statement: ROLLBACK
> 
> 
> in /var/log/postgresql/postgresql-9.3-main.log only
> 
> 2015-08-05 09:18:20 UTC ERROR:  invalid byte sequence for encoding "UTF8":
> 0xe5 0x02
> ...
> 
> 2015-08-05 11:50 GMT+03:00 Tatsuo Ishii <ishii at postgresql.org>:
> 
>> I meant the "od" command.
>>
>> Best regards,
>> --
>> Tatsuo Ishii
>> SRA OSS, Inc. Japan
>> English: http://www.sraoss.co.jp/index_en.php
>> Japanese:http://www.sraoss.co.jp
>>
>> >> You may want to use od to grab exact data.
>> >
>> > I don't fully understood it. "od"- ?
>> >
>> > 2015-08-05 10:28 GMT+03:00 Tatsuo Ishii <ishii at postgresql.org>:
>> >
>> >> There are two possibilites.
>> >>
>> >> 1) you are using "client_encoding": ie. your frontend uses ISO-8859-1
>> >>    or something like that and PostgreSQL uses UTF-8. Unfortunately
>> >>    pgpool-II does not support client_encoding.
>> >>
>> >> 2) The data you sent is mungled somewhere between pgpool and
>> >>    PostgreSQL. You can check that by comparing 'Dalvik/1.6.0...' (the
>> >>    original data in your INSERT statement), that one in the pgool log
>> >>    and that one in the PostgreSQL log. You may want to use od to grab
>> >>    exact data.
>> >>
>> >> Best regards,
>> >> --
>> >> Tatsuo Ishii
>> >> SRA OSS, Inc. Japan
>> >> English: http://www.sraoss.co.jp/index_en.php
>> >> Japanese:http://www.sraoss.co.jp
>> >>
>> >> > Hi all!
>> >> > I have trouble with pgpool.
>> >> > For now I use it in testing mode, at first sight all works fine. But
>> some
>> >> > query ("inserts"), finishing with error
>> >> >
>> >> > Aug  4 18:18:43 pg1 pgpool: 2015-08-04 18:18:43: pid 18878: LOG:
>> Parse:
>> >> > Error or notice message from backend: : DB node id: 0 backend pid:
>> 18915
>> >> > statement:
>> >> > "INSERT INTO "clic" ("a_id", "app_id", "c_image_id", "c_url_id",
>> >> > "count_id", "created_at", "dev_id", "ip", "type", "ua", "updated_at",
>> >> > "ur_only", "w_sk", "x_fd") VALUES
>> >> ('a1a99f3e-f0b5-44b1-98bb-2c10a9bd2112',
>> >> > 4313, 403, 174, 24, '2015-08-04 18:18:43.766423', 711675,
>> '119.161.65.6',
>> >> > 1, 'Dalvik/1.6.0 H�#002" message: "invalid byte sequence for encoding
>> >> > "UTF8": 0xe5 0x02"
>> >> >
>> >> > What I doing wrong?
>> >> >
>> >> > If I connect application without pgpool - all works without any
>> errors.
>> >> >
>> >> > Thanx in advance for any help!
>> >> >
>> >> > pgpool-II version 3.4.2 (tataraboshi)
>> >> >
>> >> > listen_addresses = '*'
>> >> > port = 5434
>> >> > socket_dir = '/var/run/postgresql'
>> >> > listen_backlog_multiplier = 2
>> >> > pcp_listen_addresses = '*'
>> >> > pcp_port = 9898
>> >> > pcp_socket_dir = '/var/run/postgresql'
>> >> > backend_hostname0 = '10.0.0.1'
>> >> > backend_port0 = 5432
>> >> > backend_weight0 = 1
>> >> > backend_data_directory0 = '/var/lib/postgresql/9.3/main/'
>> >> > backend_flag0 = 'ALLOW_TO_FAILOVER'
>> >> > enable_pool_hba = off
>> >> > pool_passwd = 'pool_passwd'
>> >> > authentication_timeout = 60
>> >> > ssl = on
>> >> > ssl_key = '/etc/ssl/private/ssl-cert-snakeoil.key'
>> >> > ssl_cert = '/etc/ssl/certs/ssl-cert-snakeoil.pem'
>> >> > num_init_children = 48
>> >> > max_pool = 5
>> >> > child_life_time = 300
>> >> > child_max_connections = 0
>> >> > connection_life_time = 0
>> >> > client_idle_limit = 0
>> >> > log_destination = 'stderr'
>> >> > log_connections = off
>> >> > log_hostname = off
>> >> > log_statement = off
>> >> > log_per_node_statement = off
>> >> > log_standby_delay = 'none'
>> >> > syslog_facility = 'LOCAL0'
>> >> > syslog_ident = 'pgpool'
>> >> > debug_level = 1
>> >> > pid_file_name = '/var/run/postgresql/pgpool.pid'
>> >> > logdir = '/var/log/postgresql'
>> >> > connection_cache = on
>> >> > reset_query_list = 'ABORT; DISCARD ALL'
>> >> > replication_mode = off
>> >> > replicate_select = off
>> >> > insert_lock = on
>> >> > lobj_lock_table = ''
>> >> > replication_stop_on_mismatch = off
>> >> > failover_if_affected_tuples_mismatch = off
>> >> > load_balance_mode = on
>> >> > ignore_leading_white_space = on
>> >> > white_function_list = ''
>> >> > black_function_list = 'nextval,setval,nextval,setval'
>> >> > database_redirect_preference_list = ''
>> >> > app_name_redirect_preference_list = ''
>> >> > allow_sql_comments = off
>> >> > master_slave_mode = on
>> >> > master_slave_sub_mode = 'stream'
>> >> > sr_check_period = 0
>> >> > sr_check_user = 'postgres'
>> >> > sr_check_password = ''
>> >> > delay_threshold = 0
>> >> > follow_master_command = ''
>> >> > health_check_period = 0
>> >> > health_check_timeout = 20
>> >> > health_check_user = 'postgres'
>> >> > health_check_password = ''
>> >> > health_check_max_retries = 0
>> >> > health_check_retry_delay = 1
>> >> > connect_timeout = 10000
>> >> > failover_command = ''
>> >> > failback_command = ''
>> >> > fail_over_on_backend_error = on
>> >> > search_primary_node_timeout = 10
>> >> > recovery_user = 'postgres'
>> >> > recovery_password = ''
>> >> > recovery_1st_stage_command = ''
>> >> > recovery_2nd_stage_command = ''
>> >> > recovery_timeout = 90
>> >> > client_idle_limit_in_recovery = 0
>> >> > use_watchdog = off
>> >> > trusted_servers = ''
>> >> > ping_path = '/bin'
>> >> > wd_hostname = ''
>> >> > wd_port = 9000
>> >> > wd_authkey = ''
>> >> > delegate_IP = ''
>> >> > ifconfig_path = '/sbin'
>> >> > if_up_cmd = 'ifconfig eth0:0 inet $_IP_$ netmask 255.255.255.0'
>> >> > if_down_cmd = 'ifconfig eth0:0 down'
>> >> > arping_cmd = 'arping -U $_IP_$ -w 1'
>> >> > clear_memqcache_on_escalation = on
>> >> > wd_escalation_command = ''
>> >> > wd_lifecheck_method = 'heartbeat'
>> >> > wd_interval = 10
>> >> > wd_heartbeat_port = 9694
>> >> > wd_heartbeat_keepalive = 2
>> >> > wd_heartbeat_deadtime = 30
>> >> > heartbeat_destination0 = 'host0_ip1'
>> >> > heartbeat_destination_port0 = 9694
>> >> > heartbeat_device0 = ''
>> >> > wd_life_point = 3
>> >> > wd_lifecheck_query = 'SELECT 1'
>> >> > wd_lifecheck_dbname = 'template1'
>> >> > wd_lifecheck_user = 'postgres'
>> >> > wd_lifecheck_password = ''
>> >> > relcache_expire = 0
>> >> > relcache_size = 256
>> >> > check_temp_table = on
>> >> > check_unlogged_table = on
>> >> > memory_cache_enabled = on
>> >> > memqcache_method = 'shmem'
>> >> > memqcache_memcached_host = 'localhost'
>> >> > memqcache_memcached_port = 11211
>> >> > memqcache_total_size = 67108864
>> >> > memqcache_max_num_cache = 1000000
>> >> > memqcache_expire = 0
>> >> > memqcache_auto_cache_invalidation = on
>> >> > memqcache_maxcache = 409600
>> >> > memqcache_cache_block_size = 10485760
>> >> > memqcache_oiddir = '/var/log/pgpool/oiddir'
>> >> > white_memqcache_table_list = ''
>> >> > black_memqcache_table_list = ''
>> >>
>> >
>> >
>> >
>> > --
>>
> 
> 
> 
> --


More information about the pgpool-general mailing list