6. Ðак пÑавилÑно ÑообÑиÑÑ Ð¾Ð± оÑибке
ÐÑли Ð²Ñ Ð½Ð°Ð¹Ð´ÑÑе оÑÐ¸Ð±ÐºÑ Ð² Postgres Pro, дайÑе нам знаÑÑ Ð¾ ней. ÐлагодаÑÑ Ð²Ð°ÑÐµÐ¼Ñ Ð¾ÑÑÑÑÑ Ð¾Ð± оÑибке, Postgres Pro ÑÑÐ°Ð½ÐµÑ ÐµÑÑ Ð±Ð¾Ð»ÐµÐµ надÑжнÑм, Ð²ÐµÐ´Ñ Ð´Ð°Ð¶Ðµ пÑи Ñамом вÑÑоком каÑеÑÑве кода нелÑÐ·Ñ Ð³Ð°ÑанÑиÑоваÑÑ, ÑÑо каждÑй блок и ÐºÐ°Ð¶Ð´Ð°Ñ ÑÑнкÑÐ¸Ñ Postgres Pro бÑÐ´ÐµÑ ÑабоÑаÑÑ Ð²ÐµÐ·Ð´Ðµ и пÑи лÑбÑÑ Ð¾Ð±ÑÑоÑÑелÑÑÑÐ²Ð°Ñ .
СледÑÑÑие пÑÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¿ÑÐ¸Ð·Ð²Ð°Ð½Ñ Ð¿Ð¾Ð¼Ð¾ÑÑ Ð²Ð°Ð¼ в ÑоÑÑавлении оÑÑÑÑа об оÑибке, коÑоÑÑй можно бÑÐ´ÐµÑ Ð¾Ð±ÑабоÑаÑÑ ÑÑÑекÑивно. ÐÑ Ð½Ðµ ÑÑебÑем Ð¸Ñ Ð½ÐµÑкоÑниÑелÑного вÑполнениÑ, но вÑÑ Ð¶Ðµ лÑÑÑе ÑледоваÑÑ Ð¸Ð¼ Ð´Ð»Ñ Ð¾Ð±Ñего блага.
ÐÑ Ð½Ðµ можем обеÑаÑÑ, ÑÑо ÐºÐ°Ð¶Ð´Ð°Ñ Ð¾Ñибка бÑÐ´ÐµÑ Ð¸ÑпÑавлена немедленно. ÐÑли оÑибка оÑевидна, кÑиÑиÑна или каÑаеÑÑÑ Ð¼Ð½Ð¾Ð¶ÐµÑÑва полÑзоваÑелей, велики ÑанÑÑ, ÑÑо ей кÑо-Ñо займÑÑÑÑ. ÐÑваеÑ, ÑÑо Ð¼Ñ ÑекомендÑем обновиÑÑ Ð²ÐµÑÑÐ¸Ñ Ð¸ пÑовеÑиÑÑ, ÑÐ¾Ñ ÑанÑеÑÑÑ Ð»Ð¸ оÑибка. ÐÑ Ñакже можем ÑеÑиÑÑ, ÑÑо оÑÐ¸Ð±ÐºÑ Ð½ÐµÐ»ÑÐ·Ñ Ð¸ÑпÑавиÑÑ, пока не бÑÐ´ÐµÑ Ð¿Ñоделана болÑÑÐ°Ñ ÑабоÑа, коÑоÑÐ°Ñ Ñже запланиÑована. СлÑÑаеÑÑÑ Ð¸ Ñак, ÑÑо иÑпÑавиÑÑ Ð¾ÑÐ¸Ð±ÐºÑ ÑлиÑком Ñложно, а на повеÑÑке Ð´Ð½Ñ ÐµÑÑÑ Ð¼Ð½Ð¾Ð³Ð¾ более важнÑÑ Ð´ÐµÐ». ÐÑли же Ð²Ñ Ñ Ð¾ÑиÑе, ÑÑÐ¾Ð±Ñ Ð²Ð°Ð¼ помогли немедленно, возможно вам ÑÑÐ¾Ð¸Ñ Ð·Ð°ÐºÐ»ÑÑиÑÑ Ð´Ð¾Ð³Ð¾Ð²Ð¾Ñ Ð½Ð° коммеÑÑеÑкÑÑ Ð¿Ð¾Ð´Ð´ÐµÑжкÑ.
6.1. ÐиагноÑÑика оÑибок
ÐÑежде Ñем ÑообÑаÑÑ Ð¾Ð± оÑибке, пожалÑйÑÑа, пÑоÑиÑайÑе и пеÑеÑиÑайÑе докÑменÑаÑÐ¸Ñ Ð¸ ÑбедиÑеÑÑ, ÑÑо вообÑе возможно ÑделаÑÑ Ñо, ÑÑо Ð²Ñ Ñ Ð¾ÑиÑе. ÐÑли из докÑменÑаÑии неÑÑно, можно ÑÑо ÑделаÑÑ Ð¸Ð»Ð¸ неÑ, пожалÑйÑÑа, ÑообÑиÑе и об ÑÑом (Ñогда ÑÑо оÑибка в докÑменÑаÑии). ÐÑли вÑÑÑнÑеÑÑÑ, ÑÑо пÑогÑамма Ð´ÐµÐ»Ð°ÐµÑ ÑÑо-Ñо не Ñак, как напиÑано в докÑменÑаÑии, ÑÑо Ñоже оÑибка. ÐÐ¾Ñ Ð»Ð¸ÑÑ Ð½ÐµÐºÐ¾ÑоÑÑе пÑимеÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½ÑÑ Ð¾Ñибок:
ÐÑогÑамма завеÑÑаеÑÑÑ Ñ Ð°Ð²Ð°ÑийнÑм Ñигналом или ÑообÑением об оÑибке опеÑаÑионной ÑиÑÑемÑ, ÑказÑваÑÑей на пÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ð² пÑогÑамме. (РкаÑеÑÑве конÑÑпÑимеÑа можно пÑивеÑÑи ÑообÑение «ÐÐµÑ Ð¼ÐµÑÑа на диÑке» â ÑÑÑ Ð¿ÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ð²Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ ÑеÑиÑÑ Ñами.)
ÐÑогÑамма вÑдаÑÑ Ð½ÐµÐ¿ÑавилÑнÑй ÑезÑлÑÑÐ°Ñ Ð´Ð»Ñ Ð»ÑбÑÑ Ð²Ð²Ð¾Ð´Ð¸Ð¼ÑÑ Ð´Ð°Ð½Ð½ÑÑ .
ÐÑогÑамма оÑказÑваеÑÑÑ Ð¿ÑинимаÑÑ Ð´Ð¾Ð¿ÑÑÑимÑе (ÑоглаÑно докÑменÑаÑии) даннÑе.
ÐÑогÑамма пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð½ÐµÐ´Ð¾Ð¿ÑÑÑимÑе даннÑе без ÑообÑÐµÐ½Ð¸Ñ Ð¾Ð± оÑибке или пÑедÑпÑеждениÑ. Ðо помниÑе: Ñо, ÑÑо Ð²Ñ ÑÑиÑаеÑе недопÑÑÑимÑм, Ð¼Ñ Ð¼Ð¾Ð¶ÐµÐ¼ ÑÑиÑаÑÑ Ð¿ÑиемлемÑм ÑаÑÑиÑением или ÑовмеÑÑимÑм Ñ Ð¿ÑинÑÑой пÑакÑикой.
Ðе ÑдаÑÑÑÑ ÑкомпилиÑоваÑÑ, ÑобÑаÑÑ Ð¸Ð»Ð¸ ÑÑÑановиÑÑ Postgres Pro на поддеÑживаемой плаÑÑоÑме, вÑполнÑÑ ÑооÑвеÑÑÑвÑÑÑие инÑÑÑÑкÑии.
ÐдеÑÑ Ð¿Ð¾Ð´ «пÑогÑаммой» подÑазÑмеваеÑÑÑ Ð¿ÑоизволÑнÑй иÑполнÑемÑй Ñайл, а не иÑклÑÑиÑелÑно ÑеÑвеÑнÑй пÑоÑеÑÑ.
ÐÐµÐ´Ð»ÐµÐ½Ð½Ð°Ñ ÑабоÑа или вÑÑÐ¾ÐºÐ°Ñ Ð·Ð°Ð³ÑÑзка ÑеÑÑÑÑов â ÑÑо не обÑзаÑелÑно оÑибка. ÐопÑобÑйÑе опÑимизиÑоваÑÑ Ð²Ð°Ñи пÑиложениÑ, пÑоÑиÑав докÑменÑаÑÐ¸Ñ Ð¸Ð»Ð¸ попÑоÑив помоÑи в ÑпиÑÐºÐ°Ñ ÑаÑÑÑлки. Также Ð¼Ð¾Ð¶ÐµÑ Ð½Ðµ бÑÑÑ Ð¾Ñибкой какое-Ñо неÑооÑвеÑÑÑвие ÑÑандаÑÑÑ SQL, еÑли ÑолÑко Ñвно не деклаÑиÑÑеÑÑÑ ÑооÑвеÑÑÑвие в данном аÑпекÑе.
ÐÑежде Ñем подгоÑовиÑÑ ÑообÑение, пÑовеÑÑÑе, не ÑпоминаеÑÑÑ Ð»Ð¸ ÑÑа оÑибка в ÑпиÑке TODO или FAQ. ÐÑли Ð²Ñ Ð½Ðµ можеÑе ÑазобÑаÑÑÑÑ Ð² наÑем ÑпиÑке TODO, ÑообÑиÑе о Ñвоей пÑоблеме. Ðо кÑайней меÑе Ñак Ð¼Ñ Ñделаем ÑпиÑок TODO более понÑÑнÑм.
6.2. ЧÑо ÑообÑаÑÑ
Ðлавное пÑавило, коÑоÑое нÑжно помниÑÑ â ÑообÑайÑе вÑе ÑакÑÑ Ð¸ ÑолÑко ÑакÑÑ. Ðе ÑÑÑойÑе догадки, ÑÑо по ваÑÐµÐ¼Ñ Ð¼Ð½ÐµÐ½Ð¸Ñ ÑабоÑÐ°ÐµÑ Ð½Ðµ Ñак, ÑÑо «по-Ð²Ð¸Ð´Ð¸Ð¼Ð¾Ð¼Ñ Ð¿ÑоиÑÑ Ð¾Ð´Ð¸Ñ», или в какой ÑаÑÑи пÑогÑÐ°Ð¼Ð¼Ñ Ð¾Ñибка. ÐÑли Ð²Ñ Ð½Ðµ Ð·Ð½Ð°ÐºÐ¾Ð¼Ñ Ñ ÑонкоÑÑÑми ÑеализаÑии, Ð²Ñ ÑкоÑее вÑего оÑибÑÑеÑÑ Ð¸ ниÑем нам не поможеÑе. Рдаже еÑли не оÑибÑÑеÑÑ, ÑаÑÑиÑеннÑе обÑÑÑÐ½ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑÑ Ð±ÑÑÑ Ð¿ÑекÑаÑнÑм дополнением, но не заменой ÑакÑам. ÐÑли Ð¼Ñ ÑобеÑÑмÑÑ Ð¸ÑпÑавиÑÑ Ð¾ÑибкÑ, Ð¼Ñ Ð²ÑÑ Ñавно Ñами Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±Ñдем поÑмоÑÑеÑÑ, в ÑÑм она. С дÑÑгой ÑÑоÑонÑ, ÑообÑиÑÑ Ð³Ð¾Ð»Ñе ÑакÑÑ Ð´Ð¾Ð²Ð¾Ð»Ñно пÑоÑÑо (можно пÑоÑÑо ÑкопиÑоваÑÑ ÑекÑÑ Ñ ÑкÑана), но ÑаÑÑо важнÑе деÑали опÑÑкаÑÑÑÑ, поÑÐ¾Ð¼Ñ ÑÑо не ÑÑиÑаÑÑÑÑ ÑаковÑми или кажеÑÑÑ, ÑÑо оÑÑÑÑ Ð±ÑÐ´ÐµÑ Ð¸ без Ñого понÑÑен.
Ркаждом оÑÑÑÑе об оÑибке ÑледÑÐµÑ ÑказаÑÑ:
ТоÑнÑÑ Ð¿Ð¾ÑледоваÑелÑноÑÑÑ Ð´ÐµÐ¹ÑÑвий Ð´Ð»Ñ Ð²Ð¾ÑпÑÐ¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¿ÑоблемÑ, наÑÐ¸Ð½Ð°Ñ Ñ Ð·Ð°Ð¿ÑÑка пÑогÑаммÑ. Ðна должна бÑÑÑ ÑамодоÑÑаÑоÑной; еÑли вÑвод завиÑÐ¸Ñ Ð¾Ñ Ð´Ð°Ð½Ð½ÑÑ Ð² ÑаблиÑÐ°Ñ , Ñо недоÑÑаÑоÑно ÑообÑиÑÑ Ð¾Ð´Ð¸Ð½ лиÑÑ
SELECT, без пÑедÑеÑÑвÑÑÑÐ¸Ñ Ð¾Ð¿ÐµÑаÑоÑовCREATE TABLEиINSERT. У Ð½Ð°Ñ Ð½Ðµ бÑÐ´ÐµÑ Ð²Ñемени, ÑÑÐ¾Ð±Ñ Ð²Ð¾ÑÑÑанавливаÑÑ ÑÑ ÐµÐ¼Ñ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð¿Ð¾ пÑедоÑÑавленной инÑоÑмаÑии, и еÑли пÑедполагаеÑÑÑ, ÑÑо Ð¼Ñ Ð±Ñдем ÑоздаваÑÑ Ñвои ÑеÑÑовÑе даннÑе, веÑоÑÑнее вÑего Ð¼Ñ Ð¿ÑопÑÑÑим ÑÑо ÑообÑение.ÐÑÑÑий ÑоÑÐ¼Ð°Ñ ÑеÑÑа Ð´Ð»Ñ Ð¿Ñоблем Ñ SQL â Ñайл, коÑоÑÑй можно пеÑедаÑÑ Ð¿ÑогÑамме psql и ÑвидеÑÑ Ð¿ÑоблемÑ. (Ð ÑбедиÑеÑÑ, ÑÑо в ваÑем Ñайле
~/.psqlrcниÑего неÑ.) СамÑй пÑоÑÑой ÑпоÑоб полÑÑиÑÑ Ñакой Ñайл â вÑгÑÑзиÑÑ Ð¾Ð±ÑÑÐ²Ð»ÐµÐ½Ð¸Ñ ÑÐ°Ð±Ð»Ð¸Ñ Ð¸ даннÑе, Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ñе Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»Ð¸Ð³Ð¾Ð½Ð°, Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ pg_dump, а заÑем добавиÑÑ Ð¿ÑоблемнÑй запÑоÑ. ÐоÑÑаÑайÑеÑÑ ÑокÑаÑиÑÑ ÑÐ°Ð·Ð¼ÐµÑ Ð²Ð°Ñего ÑеÑÑового пÑимеÑа, Ñ Ð¾ÑÑ ÑÑо не абÑолÑÑно Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾. ÐÑли оÑибка воÑпÑоизводиÑÑÑ, Ð¼Ñ Ð½Ð°Ð¹Ð´Ñм ÐµÑ Ð² лÑбом ÑлÑÑае.ÐÑли ваÑе пÑиложение иÑполÑзÑÐµÑ ÐºÐ°ÐºÐ¾Ð¹-Ñо дÑÑгой клиенÑÑкий инÑеÑÑейÑ, напÑÐ¸Ð¼ÐµÑ PHP, пожалÑйÑÑа, попÑÑайÑеÑÑ ÑвеÑÑи оÑÐ¸Ð±ÐºÑ Ðº пÑоблемнÑм запÑоÑам. ÐÑ Ð²ÑÑд ли бÑдем ÑÑÑанавливаÑÑ Ð²ÐµÐ±-ÑеÑÐ²ÐµÑ Ñ ÑебÑ, ÑÑÐ¾Ð±Ñ Ð²Ð¾ÑпÑоизвеÑÑи ваÑÑ Ð¿ÑоблемÑ. РлÑбом ÑлÑÑае помниÑе, ÑÑо нам нÑÐ¶Ð½Ñ Ð²Ð°Ñи конкÑеÑнÑе Ð²Ñ Ð¾Ð´Ð½Ñе ÑайлÑ; Ð¼Ñ Ð½Ðµ бÑдем гадаÑÑ, ÑÑо подÑазÑмеваеÑÑÑ Ð² ÑообÑении о пÑоблеме Ñ Â«Ð±Ð¾Ð»ÑÑими Ñайлами» или «базой ÑÑеднего ÑазмеÑа», Ñак как ÑÑо ÑлиÑком ÑаÑплÑвÑаÑÑе понÑÑиÑ.
РезÑлÑÑаÑ, коÑоÑÑй Ð²Ñ Ð¿Ð¾Ð»ÑÑаеÑе. ÐожалÑйÑÑа, не говоÑиÑе, ÑÑо ÑÑо-Ñо «не ÑабоÑаеÑ» или «ÑбоиÑ». ÐÑли еÑÑÑ ÑообÑение об оÑибке, покажиÑе его, даже еÑли Ð²Ñ ÐµÐ³Ð¾ не понимаеÑе. ÐÑли пÑогÑамма завеÑÑаеÑÑÑ Ð¾Ñибкой опеÑаÑионной ÑиÑÑемÑ, ÑообÑиÑе какой. Ðли еÑли ниÑего не пÑоиÑÑ Ð¾Ð´Ð¸Ñ, оÑÑазиÑе ÑÑо. Ðаже еÑли в ÑезÑлÑÑаÑе ваÑего ÑеÑÑа пÑоиÑÑ Ð¾Ð´Ð¸Ñ Ñбой пÑогÑÐ°Ð¼Ð¼Ñ Ð¸Ð»Ð¸ ÑÑо-Ñо оÑевидное, Ð¼Ñ Ð¼Ð¾Ð¶ÐµÐ¼ не наблÑдаÑÑ ÑÑого Ñ ÑебÑ. ÐÑоÑе вÑего бÑÐ´ÐµÑ ÑкопиÑоваÑÑ ÑекÑÑ Ñ ÑеÑминала, еÑли ÑÑо возможно.
ÐÑимеÑание
ÐÑли Ð²Ñ ÑпоминаеÑе ÑообÑение об оÑибке, пожалÑйÑÑа, ÑкажиÑе его в наиболее полной ÑоÑме. ÐапÑимеÑ, в psql, Ð´Ð»Ñ ÑÑого ÑнаÑала вÑполниÑе
\set VERBOSITY verbose. ÐÑли Ð²Ñ ÑиÑиÑÑеÑе ÑообÑÐµÐ½Ð¸Ñ Ð¸Ð· жÑÑнала ÑобÑÑий ÑеÑвеÑа, пÑиÑвойÑе паÑамеÑÑÑ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ log_error_verbosity знаÑениеverbose, ÑÑÐ¾Ð±Ñ Ð¶ÑÑнал бÑл наиболее подÑобнÑм.ÐÑимеÑание
Ð ÑлÑÑае ÑаÑалÑнÑÑ Ð¾Ñибок ÑообÑение на ÑÑоÑоне клиенÑа Ð¼Ð¾Ð¶ÐµÑ Ð½Ðµ ÑодеÑжаÑÑ Ð²ÑÑ Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼ÑÑ Ð¸Ð½ÑоÑмаÑиÑ. ÐожалÑйÑÑа, Ñакже изÑÑиÑе жÑÑнал ÑеÑвеÑа баз даннÑÑ . ÐÑли ÑообÑÐµÐ½Ð¸Ñ Ð¶ÑÑнала Ñ Ð²Ð°Ñ Ð½Ðµ ÑÐ¾Ñ ÑанÑÑÑÑÑ, ÑÑо Ð¿Ð¾Ð´Ñ Ð¾Ð´ÑÑий повод, ÑÑÐ¾Ð±Ñ Ð½Ð°ÑаÑÑ ÑÐ¾Ñ ÑанÑÑÑ Ð¸Ñ .
ÐÑÐµÐ½Ñ Ð²Ð°Ð¶Ð½Ð¾ оÑмеÑиÑÑ, какой ÑезÑлÑÑÐ°Ñ Ð²Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð»Ð¸ полÑÑиÑÑ. ÐÑли Ð²Ñ Ð¿ÑоÑÑо напиÑеÑе «ÐÑа команда вÑдаÑÑ ÑÑо.» или «ÐÑо не Ñо, ÑÑо мне нÑжно.», Ð¼Ñ Ð¼Ð¾Ð¶ÐµÐ¼ запÑÑÑиÑÑ Ð²Ð°Ñ Ð¿ÑимеÑ, поÑмоÑÑеÑÑ Ð½Ð° ÑезÑлÑÑÐ°Ñ Ð¸ ÑеÑиÑÑ, ÑÑо вÑÑ Ð² поÑÑдке и никакой оÑибки неÑ. Ðе заÑÑавлÑйÑе Ð½Ð°Ñ ÑÑаÑиÑÑ Ð²ÑÐµÐ¼Ñ Ð½Ð° ÑаÑÑиÑÑÐ¾Ð²ÐºÑ ÑоÑного ÑмÑÑла ваÑÐ¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´. Ð ÑаÑÑноÑÑи, воздеÑжиÑеÑÑ Ð¾Ñ ÑÑвеÑждений Ñипа «ÐÑо не Ñо, ÑÑо Ð´ÐµÐ»Ð°ÐµÑ Oracle/положено по ÑÑандаÑÑÑ SQL». ÐÑÑÑнÑÑÑ, как должно бÑÑÑ Ð¿Ð¾ ÑÑандаÑÑÑ SQL, не оÑÐµÐ½Ñ Ð¸Ð½ÑеÑеÑно, а кÑоме Ñого Ð¼Ñ Ð½Ðµ знаем, как ведÑÑ ÑÐµÐ±Ñ Ð²Ñе оÑÑалÑнÑе ÑелÑÑионнÑе Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ . (ÐÑли Ð²Ñ Ð½Ð°Ð±Ð»ÑдаеÑе аваÑийное завеÑÑение пÑогÑаммÑ, ÑÑÐ¾Ñ Ð¿ÑнкÑ, оÑевидно, неÑмеÑÑен.)
ÐÑе паÑамеÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¾Ð¹ ÑÑÑоки и дÑÑгие паÑамеÑÑÑ Ð·Ð°Ð¿ÑÑка, вклÑÑÐ°Ñ Ð²Ñе ÑвÑзаннÑе пеÑеменнÑе окÑÑÐ¶ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ ÑÐ°Ð¹Ð»Ñ ÐºÐ¾Ð½ÑигÑÑаÑии, коÑоÑÑе Ð²Ñ Ð¸Ð·Ð¼ÐµÐ½Ñли. ÐожалÑйÑÑа, пÑедоÑÑавлÑйÑе ÑоÑнÑе ÑведениÑ. ÐÑли Ð²Ñ Ð¸ÑполÑзÑеÑе гоÑовÑй диÑÑÑибÑÑив, в коÑоÑом ÑеÑÐ²ÐµÑ ÐРзапÑÑкаеÑÑÑ Ð¿Ñи загÑÑзке ÑиÑÑемÑ, вам ÑледÑÐµÑ Ð²ÑÑÑниÑÑ, как ÑÑо пÑоиÑÑ Ð¾Ð´Ð¸Ñ.
ÐÑÑ, ÑÑо Ð²Ñ Ð´ÐµÐ»Ð°Ð»Ð¸ не Ñак, как напиÑано в инÑÑÑÑкÑиÑÑ Ð¿Ð¾ ÑÑÑановке.
ÐеÑÑÐ¸Ñ Postgres Pro. ЧÑÐ¾Ð±Ñ Ð²ÑÑÑниÑÑ Ð²ÐµÑÑÐ¸Ñ ÑеÑвеÑа, к коÑоÑÐ¾Ð¼Ñ Ð²Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑенÑ, можно вÑполниÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ
SELECT pgpro_version();. ÐолÑÑинÑÑво иÑполнÑемÑÑ Ð¿ÑогÑамм Ñакже поддеÑживаÑÑ Ð¿Ð°ÑамеÑÑ--version; как минимÑм должно ÑабоÑаÑÑpostgres --versionиpsql --version. ÐÑли ÑÐ°ÐºÐ°Ñ ÑÑнкÑÐ¸Ñ Ð¸Ð»Ð¸ паÑамеÑÑÑ Ð½Ðµ поддеÑживаÑÑÑÑ, веÑоÑÑно ваÑÑ Ð²ÐµÑÑÐ¸Ñ Ð´Ð°Ð²Ð½Ð¾ поÑа обновиÑÑ. ÐÑли Ð²Ñ Ð¸ÑполÑзÑеÑе диÑÑÑибÑÑивнÑй пакеÑ, напÑÐ¸Ð¼ÐµÑ RPM, ÑообÑиÑе ÑÑо, вклÑÑÐ°Ñ Ð¿Ð¾Ð»Ð½ÑÑ Ð²ÐµÑÑÐ¸Ñ ÑÑого пакеÑа. ÐÑли же Ð²Ñ ÑабоÑаеÑе Ñо Ñнимком Git, ÑкажиÑе ÑÑо и Ñ ÐµÑ Ð¿Ð¾Ñледней пÑавки.ÐÑли ваÑа веÑÑÐ¸Ñ ÑÑаÑее, Ñем 9.5.20.1, Ð¼Ñ Ð¿Ð¾ÑÑи навеÑнÑка поÑовеÑÑем вам обновиÑÑÑÑ. Ркаждом новом вÑпÑÑке оÑÐµÐ½Ñ Ð¼Ð½Ð¾Ð³Ð¾ ÑлÑÑÑений и иÑпÑавлений оÑибок, Ñак ÑÑо оÑибка, коÑоÑÑÑ Ð²Ñ Ð²ÑÑÑеÑили в ÑÑаÑой веÑÑии Postgres Pro, ÑкоÑее вÑего Ñже иÑпÑавлена. ÐÑ Ð¼Ð¾Ð¶ÐµÐ¼ обеÑпеÑиÑÑ ÑолÑко огÑаниÑеннÑÑ Ð¿Ð¾Ð´Ð´ÐµÑÐ¶ÐºÑ Ð´Ð»Ñ ÑÐµÑ , кÑо иÑполÑзÑÐµÑ ÑÑаÑÑе веÑÑии Postgres Pro; еÑли вам ÑÑого недоÑÑаÑоÑно, подÑмайÑе о заклÑÑении договоÑа коммеÑÑеÑкой поддеÑжки.
Ð¡Ð²ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾ плаÑÑоÑме, вклÑÑÐ°Ñ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ðµ и веÑÑÐ¸Ñ ÑдÑа, библиоÑеки C, Ñ Ð°ÑакÑеÑиÑÑики пÑоÑеÑÑоÑа, памÑÑи и Ñ. д. ЧаÑÑо бÑÐ²Ð°ÐµÑ Ð´Ð¾ÑÑаÑоÑно ÑообÑиÑÑ Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ðµ и веÑÑÐ¸Ñ ÐС, но не ÑаÑÑÑиÑÑвайÑе, ÑÑо вÑе знаÑÑ, ÑÑо именно подÑазÑмеваеÑÑÑ Ð¿Ð¾Ð´ «Debian», или ÑÑо вÑе иÑполÑзÑÑÑ x86_64. ÐÑли Ñ Ð²Ð°Ñ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ°ÑÑ ÑложноÑÑи Ñо ÑбоÑкой кода и ÑÑÑановкой, Ñакже Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð° инÑоÑмаÑÐ¸Ñ Ð¾ ÑбоÑоÑной ÑÑеде ваÑего компÑÑÑеÑа (компилÑÑоÑ, make и Ñ. д.).
Ðе бойÑеÑÑ, еÑли Ð²Ð°Ñ Ð¾ÑÑÑÑ Ð¾Ð± оÑибке не бÑÐ´ÐµÑ ÐºÑаÑок. У ÑаланÑа еÑÑÑ ÐµÑÑ Ð¸ бÑаÑ. ÐÑÑÑе ÑообÑиÑÑ Ð¾Ð±Ð¾ вÑÑм ÑÑазÑ, Ñем Ð¼Ñ Ð±Ñдем поÑом вÑÑживаÑÑ ÑакÑÑ Ð¸Ð· ваÑ. С дÑÑгой ÑÑоÑонÑ, еÑли ÑайлÑ, коÑоÑÑе Ð²Ñ Ñ Ð¾ÑиÑе показаÑÑ, велики, пÑавилÑнее бÑÐ´ÐµÑ ÑнаÑала ÑпÑоÑиÑÑ, Ñ Ð¾ÑÐµÑ Ð»Ð¸ кÑо-Ñо взглÑнÑÑÑ Ð½Ð° Ð½Ð¸Ñ . Ð ÑÑой ÑÑаÑÑе Ð²Ñ Ð½Ð°Ð¹Ð´ÑÑе дÑÑгие ÑовеÑÑ Ð¿Ð¾ ÑоÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾ÑÑÑÑов об оÑÐ¸Ð±ÐºÐ°Ñ .
Ðе ÑÑаÑÑÑе вÑÑ ÑÐ²Ð¾Ñ Ð²ÑемÑ, ÑÑÐ¾Ð±Ñ Ð²ÑÑÑниÑÑ, пÑи ÐºÐ°ÐºÐ¸Ñ Ð²Ñ Ð¾Ð´Ð½ÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð¸ÑÑÐµÐ·Ð°ÐµÑ Ð¿Ñоблема. ÐÑо вÑÑд ли Ð¿Ð¾Ð¼Ð¾Ð¶ÐµÑ ÑеÑиÑÑ ÐµÑ. ÐÑли вÑÑÑниÑÑÑ, ÑÑо бÑÑÑÑо иÑпÑавиÑÑ Ð¾ÑÐ¸Ð±ÐºÑ Ð½ÐµÐ»ÑзÑ, Ñогда Ñ Ð²Ð°Ñ Ð±ÑÐ´ÐµÑ Ð²ÑÐµÐ¼Ñ Ð½Ð°Ð¹Ñи Ð¾Ð±Ñ Ð¾Ð´Ð½Ð¾Ð¹ пÑÑÑ Ð¸ ÑообÑиÑÑ Ð¾ нÑм. РопÑÑÑ Ð¶Ðµ, не ÑÑаÑÑÑе ÑÐ²Ð¾Ñ Ð²ÑÐµÐ¼Ñ Ð½Ð° вÑÑÑнение, поÑÐµÐ¼Ñ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ°ÐµÑ ÑÑа оÑибка. ÐÑ Ð½Ð°Ð¹Ð´Ñм ÐµÑ Ð¿ÑиÑÐ¸Ð½Ñ Ð´Ð¾ÑÑаÑоÑно бÑÑÑÑо.
СообÑÐ°Ñ Ð¾Ð± оÑибке, ÑÑаÑайÑеÑÑ Ð½Ðµ допÑÑкаÑÑ Ð¿ÑÑаниÑÑ Ð² ÑеÑÐ¼Ð¸Ð½Ð°Ñ . ÐÑогÑаммнÑй Ð¿Ð°ÐºÐµÑ Ð² Ñелом назÑваеÑÑÑ Â«Postgres Pro», иногда «Postgres» Ð´Ð»Ñ ÐºÑаÑкоÑÑи. ÐÑли Ð²Ñ Ð³Ð¾Ð²Ð¾ÑиÑе именно о ÑеÑвеÑном пÑоÑеÑÑе, ÑпомÑниÑе ÑÑо; не ÑледÑÐµÑ Ð³Ð¾Ð²Ð¾ÑиÑÑ Â«Ñбой в Postgres Pro». Сбой одного ÑеÑвеÑного пÑоÑеÑÑа каÑдиналÑно оÑлиÑаеÑÑÑ Ð¾Ñ ÑÐ±Ð¾Ñ ÑодиÑелÑÑкого пÑоÑеÑÑа «postgres», поÑÑомÑ, пожалÑйÑÑа, не назÑвайÑе «Ñбоем ÑеÑвеÑа» оÑклÑÑение одного из подÑинÑннÑÑ ÑеÑвеÑнÑÑ Ð¿ÑоÑеÑÑов и наобоÑоÑ. ÐÑоме Ñого, клиенÑÑкие пÑогÑаммÑ, Ñакие как инÑеÑакÑивнÑй «psql» ÑÑÑеÑÑвÑÑÑ ÑовеÑÑенно оÑделÑно Ð¾Ñ ÑеÑвеÑной ÑаÑÑи. Ðо возможноÑÑи поÑÑаÑайÑеÑÑ ÑоÑно ÑказаÑÑ, где наблÑдаеÑÑÑ Ð¿Ñоблема, на ÑÑоÑоне клиенÑа или ÑеÑвеÑа.
6.3. ÐÑда ÑообÑаÑÑ
РобÑем ÑлÑÑае поÑÑлаÑÑ ÑообÑÐµÐ½Ð¸Ñ Ð¾Ð± оÑибкаÑ
ÑледÑÐµÑ Ð¿Ð¾ адÑеÑÑ <bugs@postgrespro.ru>. ÐÑ Ð¿ÑоÑим Ð²Ð°Ñ Ð½Ð°Ð¿Ð¸ÑаÑÑ Ð¸Ð½ÑоÑмаÑивнÑÑ ÑÐµÐ¼Ñ Ð¿Ð¸ÑÑма, возможно вклÑÑив в Ð½ÐµÑ ÑаÑÑÑ ÑообÑÐµÐ½Ð¸Ñ Ð¾Ð± оÑибке.
Ðе оÑпÑавлÑйÑе оÑÑÑÑÑ Ð¾Ð± оÑибкаÑ
, ÑпеÑиÑиÑнÑÑ
Ð´Ð»Ñ Postgres Pro, на адÑÐµÑ Ð¿Ð¾Ð´Ð´ÐµÑжки PostgreSQL, Ñак как Postgres Pro не поддеÑживаеÑÑÑ ÑообÑеÑÑвом PostgreSQL. Ðднако Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе ÑообÑаÑÑ Ð¿Ð¾ адÑеÑÑ <psql-bugs@lists.postgresql.org> обо вÑеÑ
оÑибкаÑ
, ÑвÑзаннÑÑ
Ñ PostgreSQL.
Ðаже еÑли ваÑа оÑибка не ÑвÑзана Ñ Ð¾ÑобенноÑÑÑми Postgres Pro, не поÑÑлайÑе ÑообÑÐµÐ½Ð¸Ñ Ð² ÑпиÑки ÑаÑÑÑлки Ð´Ð»Ñ Ð¿Ð¾Ð»ÑзоваÑелей, напÑÐ¸Ð¼ÐµÑ Ð² <pgsql-sql@lists.postgresql.org> или <pgsql-general@lists.postgresql.org>. ÐÑи ÑаÑÑÑлки пÑедназнаÑÐµÐ½Ñ Ð´Ð»Ñ Ð¾ÑвеÑов на вопÑоÑÑ Ð¿Ð¾Ð»ÑзоваÑелей, и иÑ
подпиÑÑики обÑÑно не Ñ
оÑÑÑ Ð¿Ð¾Ð»ÑÑаÑÑ ÑообÑÐµÐ½Ð¸Ñ Ð¾Ð± оÑибкаÑ
, более Ñого, они вÑÑд ли иÑпÑавÑÑ Ð¸Ñ
.
Также, пожалÑйÑÑа, не оÑпÑавлÑйÑе оÑÑÑÑÑ Ð¾Ð± оÑибкаÑ
в ÑпиÑок <pgsql-hackers@lists.postgresql.org>. ÐÑÐ¾Ñ ÑпиÑок пÑедназнаÑен Ð´Ð»Ñ Ð¾Ð±ÑÑÐ¶Ð´ÐµÐ½Ð¸Ñ ÑазÑабоÑки PostgreSQL, и бÑÐ´ÐµÑ Ð»ÑÑÑе, еÑли ÑообÑÐµÐ½Ð¸Ñ Ð¾Ð± оÑибкаÑ
бÑдÑÑ ÑÑÑеÑÑвоваÑÑ Ð¾ÑделÑно. ÐÑ Ð¿ÐµÑенеÑÑм обÑÑждение ваÑей оÑибки в pgsql-hackers, еÑли ÑвÑÐ·Ð°Ð½Ð½Ð°Ñ Ñ PostgreSQL пÑоблема поÑÑебÑÐµÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑного ÑаÑÑмоÑÑениÑ.