আমি এমন একটি সমস্যায় পড়ছি যার মাধ্যমে আমার একজন ব্যবহারকারী থেকে আমার পোস্টগ্রিজ এসকিউএল সার্ভারের সাথে দুটি সংযোগ রয়েছে যা প্রায় 4 ঘন্টা ধরে চলছে এবং বেশ কিছুদিন ধরে প্রতিশ্রুতিবদ্ধ অবস্থায় রয়েছে (কমপক্ষে 1 ঘন্টা যা আমি এটি দেখছিলাম) । এই সংযোগগুলি অন্যান্য কোয়েরিকে চলমান থেকে অবরুদ্ধ করছে তবে সেগুলি অবরুদ্ধ নয়।
প্রশ্নে দুটি সংযোগ এখানে।
postgres=# select * from pg_stat_activity where usename = 'xxxxx';
datid | datname | procpid | usesysid | usename | current_query | waiting | xact_start | query_start | backend_start | client_addr | client_port
-------+---------+---------+----------+---------+---------------+---------+-------------------------------+-------------------------------+-------------------------------+---------------+-------------
20394 | xxxxxx | 17509 | 94858 | xxxxx | COMMIT | f | 2014-01-30 05:51:11.311363-05 | 2014-01-30 05:51:12.042515-05 | 2014-01-30 05:51:11.294444-05 | xx.xx.xxx.xxx | 63531
20394 | xxxxxx | 9593 | 94858 | xxxxx | COMMIT | f | 2014-01-30 06:45:17.032651-05 | 2014-01-30 06:45:17.694533-05 | 2014-01-30 06:45:16.992576-05 | xx.xx.xxx.xxx | 63605
পিআইডি 9593 হ'ল সবচেয়ে সমস্যাযুক্ত এটি যা অন্য ব্যবহারকারীরা এটির দ্বারা ব্লক হয়ে যায়। ব্যবহারকারী যতদূর স্বীকার করছেন, তিনি তার টেবিলটি কেটে ফেললেন, তারপরে প্রতিটি ব্যাচের পরে প্রতিশ্রুতিবদ্ধ এক হাজারের ব্যাচে সন্নিবেশ করিয়েছিলেন।
বর্তমানে এই পিআইডি নিম্নলিখিত লকগুলি দেখায়:
postgres=# select * from pg_locks where pid = 9593;
locktype | database | relation | page | tuple | virtualxid | transactionid | classid | objid | objsubid | virtualtransaction | pid | mode | granted
---------------+----------+----------+------+-------+------------+---------------+---------+-------+----------+--------------------+------+---------------------+---------
relation | 20394 | 29173472 | | | | | | | | 261/0 | 9593 | AccessExclusiveLock | t
relation | 20394 | 27794470 | | | | | | | | 261/0 | 9593 | RowExclusiveLock | t
relation | 20394 | 27794470 | | | | | | | | 261/0 | 9593 | ShareLock | t
relation | 20394 | 27794470 | | | | | | | | 261/0 | 9593 | AccessExclusiveLock | t
virtualxid | | | | | 261/503292 | | | | | 261/0 | 9593 | ExclusiveLock | t
transactionid | | | | | | 503213304 | | | | 261/0 | 9593 | ExclusiveLock | t
আমি এই পিআইডি মারতে পারি না (কিল কমান্ড জারি করার পরে কিছুই হয় না)। এটিকে আরও নির্ণয় করতে এবং স্পষ্টতই এটিকে সমাধান করার জন্য আমি কী করব তা নিশ্চিত নই।
কোন ইনপুট কেউ?
উবুন্টু লিনাক্স সার্ভারে পোস্টগ্রিএসকিউএল 8.4 চলছে।
সম্পাদনা করুন:
যেহেতু আমি অনুরূপ স্থানে অন্যান্য সংযোগগুলি পেয়েছিলাম যেখানে প্রতিশ্রুতিটি ঝুলছিল, আমি আরও তাকিয়ে সার্ভার লগগুলিতে নিম্নলিখিতগুলি পেয়েছি:
Jan 30 02:29:45 server001 kernel: [3521062.240540] postgres D 0000000000000000 0 23220 8154 0x00000004
Jan 30 02:29:45 server001 kernel: [3521062.240550] ffff8800174c9d08 0000000000000082 ffff88041cd24728 0000000000015880
Jan 30 02:29:45 server001 kernel: [3521062.240559] ffff8806c678b110 0000000000015880 0000000000015880 0000000000015880
Jan 30 02:29:45 server001 kernel: [3521062.240567] 0000000000015880 ffff8806c678b110 0000000000015880 0000000000015880
Jan 30 02:29:45 server001 kernel: [3521062.240575] Call Trace:
Jan 30 02:29:45 server001 kernel: [3521062.240582] [<ffffffff810da010>] ? sync_page+0x0/0x50
Jan 30 02:29:45 server001 kernel: [3521062.240590] [<ffffffff81528488>] io_schedule+0x28/0x40
Jan 30 02:29:45 server001 kernel: [3521062.240596] [<ffffffff810da04d>] sync_page+0x3d/0x50
Jan 30 02:29:45 server001 kernel: [3521062.240603] [<ffffffff815289a7>] __wait_on_bit+0x57/0x80
Jan 30 02:29:45 server001 kernel: [3521062.240610] [<ffffffff810da1be>] wait_on_page_bit+0x6e/0x80
Jan 30 02:29:45 server001 kernel: [3521062.240618] [<ffffffff81078540>] ? wake_bit_function+0x0/0x40
Jan 30 02:29:45 server001 kernel: [3521062.240627] [<ffffffff810e4480>] ? pagevec_lookup_tag+0x20/0x30
Jan 30 02:29:45 server001 kernel: [3521062.240634] [<ffffffff810da665>] wait_on_page_writeback_range+0xf5/0x190
Jan 30 02:29:45 server001 kernel: [3521062.240644] [<ffffffff81053668>] ? try_to_wake_up+0x118/0x340
Jan 30 02:29:45 server001 kernel: [3521062.240651] [<ffffffff810da727>] filemap_fdatawait+0x27/0x30
Jan 30 02:29:45 server001 kernel: [3521062.240659] [<ffffffff811431b4>] vfs_fsync+0xa4/0xf0
Jan 30 02:29:45 server001 kernel: [3521062.240667] [<ffffffff81143239>] do_fsync+0x39/0x60
Jan 30 02:29:45 server001 kernel: [3521062.240674] [<ffffffff8114328b>] sys_fsync+0xb/0x10
Jan 30 02:29:45 server001 kernel: [3521062.240682] [<ffffffff81012042>] system_call_fastpath+0x16/0x1b
dmesg
করে দেখুন - I / O ত্রুটিগুলি, টাইমআউটগুলি, এইচবিএ ত্রুটিগুলি ইত্যাদির জন্য দেখুন a নতুন ব্যাকআপ নিন এবং আপনার ডিস্কগুলি, রেড সাবসিস্টেম ইত্যাদি পরীক্ষা করুন