PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مشکل اتصال به دیتابیس



mobinhost.in
July 5th, 2014, 15:32
ERROR: database is not accepting commands to avoid wraparound data loss in database "postgres"
با سلام و عرض احترام به دوستان و همکاران عزیز
سرور در حال حاضر روشن و فعال است ولی به هنگام سرچ در دیتا بیس این اررور رو نمایش می دهد
دوستان چه راهکاری برای حل این مشکل ارائه می کنند
امکان بک اپگیری از سرور هم نیست
دوستانی که می توانند به ما راهنمایی ارائه دهند مارو از لطفشون بهره مند کنند

kianfar
July 5th, 2014, 15:56
وارد دیتابیس بشید و دستور زیر رو اجرا کنید و ببینید مشکل حل میشه یا نه:

sql<vacuum full analyze verbose

بسته به حجم دیتابیس ممکن هست زمانی بین چند ثانیه تا 30 دقیقه طول بکشه.

mobinhost.in
July 5th, 2014, 16:22
امکان پیر هست توضیحی در مورد این مشکل بدهید
و کاری که این دستور انجام می دهد ؟؟؟

- - - Updated - - -

قربان این دستوری که دادین رو کامل تایپ نکردین
سنت اوس این دستور رو نمی شناسد
لطفا دستور رو اصلاح کنید

hamid.soltani92
July 5th, 2014, 16:35
امکان پیر هست توضیحی در مورد این مشکل بدهید
و کاری که این دستور انجام می دهد ؟؟؟

- - - Updated - - -

قربان این دستوری که دادین رو کامل تایپ نکردین
سنت اوس این دستور رو نمی شناسد
لطفا دستور رو اصلاح کنید
سلام،با دستور postmaster میتونید وارد محیط شل pg بشید و دستوری که دوستمون فرمودن رو اجرا کنید.
برای جلوگیری از بروز این مشکل باید قابلیت autovaccum رو تو فایل postgresql.conf فعال کنید؛
autovaccum = on

برای اینکه مشکلتون حل بشه مراحل زیر رو طی کنید:


/etc/init.d/postgresql stop
su postgres
touch /tmp/fixcrp.sql
echo "VACUUM FULL;" > /tmp/fixcrp.sql
postgres -D /var/lib/pgsql/data ESME DATABASE < /tmp/fixcrp.sql
بعد هم یک بار pgsql رو ری استارت کنید.

/etc/init.d/postgresql restart
اگر autovacuum رو فعال نمیکنید، هر چند وقت یکبار دیتابیستون رو وکیوم کنید که این مشکل پیش نیاد.

mobinhost.in
July 5th, 2014, 16:39
با اجرای دستور
postmaster
این پیام نمایش داده می شود
"root" execution of the PostgreSQL server is not permitted.
The server must be started under an unprivileged user ID to prevent
possible system security compromise. See the documentation for
more information on how to properly start the server.

hamid.soltani92
July 5th, 2014, 16:41
با اجرای دستور
postmaster
این پیام نمایش داده می شود
"root" execution of the PostgreSQL server is not permitted.
The server must be started under an unprivileged user ID to prevent
possible system security compromise. See the documentation for
more information on how to properly start the server.
همونطور که عرض کردم،‌باید کاربر رو به postgres تغییر بدید و بعد دستور رو وارد کنید.
su postgres

mobinhost.in
July 5th, 2014, 16:45
دستور postgres -D /var/lib/pgsql/data ESME DATABASE < /tmp/fixcrp.sql
وارد می کنم ارورو می دهد
تک تک دستورات رو زدم روی اخری مشکل دارد و فکر کنم دقیق تایپ نکردین

FATAL: postgres: invalid command-line arguments

hamid.soltani92
July 5th, 2014, 16:50
دستور postgres -D /var/lib/pgsql/data ESME DATABASE < /tmp/fixcrp.sql
وارد می کنم ارورو می دهد
تک تک دستورات رو زدم روی اخری مشکل دارد و فکر کنم دقیق تایپ نکردین

FATAL: postgres: invalid command-line arguments
جسارتا، ESME DATABASE رو توی دستور ویرایش می کنید یا نه؟!
این دستور رو وارد کنید!:
postgres -D /var/lib/pgsql/data postgres < /tmp/fixcrp.sql

kianfar
July 5th, 2014, 17:17
این مشکل به دلیل رسیدن حجم دیتابیس به حداکثر تعداد سطر ممکن بروز می کنه
مراحل زیر رو به ترتیب انجام بدید :
به جای "DATABASE" در سطر سوم باید نام دیتابیس خودتون رو قرار بدید :



/etc/init.d/postgresql stop


su - postgres


/usr/pgsql-9.0/bin/postgres --single -D /var/lib/pgsql/9.0/data/ DATABASE backend> VACUUM FULL;

exit


/etc/init.d/postgresql start

mobinhost.in
July 5th, 2014, 17:21
اسم دیتابیس رو چطور می توانم پیدا کنم
یادم نیست چه نامی برای دیتابیس انتخاب شده است
اگر امکان دارد کامندی که بتوان نام دیتا بیس رو پیدا کرد رو بدین

- - - Updated - - -


جسارتا، ESME DATABASE رو توی دستور ویرایش می کنید یا نه؟!
این دستور رو وارد کنید!:
postgres -D /var/lib/pgsql/data postgres < /tmp/fixcrp.sql

قربان نه همونو کپی نکردم اسم دیتابیس رو اشتباه میزدم
چطور اسم دیتابیس رو از داخل پوتی در بیارم ؟؟

kianfar
July 5th, 2014, 18:16
برای پیدا کردن نام دیتابیش یه ترتیب زیر عمل کنید :

su - postgres

psql template1

l\