در این راهنما قصد داریم سرور PostgreSQL را در Ubuntu ارتقاء دهیم. اهمیتی ندارد از کدام نسخه ارتقاء میدهید یا به کدام نسخه میخواهید ارتقاء دهید. شما میتوانید این کار را با PostgreSQL 9.1، 9.2، 9.3، 9.4، 9.5، 9.6، 10، 11، 12، 13، 14، 15 یا هر نسخه جدیدتری انجام دهید.
در این مثال، من PostgreSQL 15 را به PostgreSQL 16 ارتقاء میدهم، اما تنها کافیست شما شمارههای نسخهها را در دستورات زیر تغییر دهید تا با نسخه قدیمیتری که استفاده میکنید و نسخه جدیدی که میخواهید ارتقاء دهید، همخوانی داشته باشد.
اگر پایگاه دادهی کوچکی دارید، این کار تنها چند دقیقه طول میکشد، پس بیایید شروع کنیم!
نصب آخرین نسخه PostgreSQL
اگر از نسخه پیشفرض موجود در Ubuntu استفاده میکنید، میتوانید به آسانی به آخرین نسخه PostgreSQL ارتقاء دهید با اجرای دستور زیر:
sudo apt-get upgrade
در غیر این صورت، اگر میخواهید به آخرین نسخه PostgreSQL بروز شوید، میتوانید دستورات مربوطه را از وبسایت آنها در اینجا دنبال کنید: https://www.postgresql.org/download/linux/ubuntu/
برای یافتن نسخههای نصب شده که در حال حاضر در دستگاه شما وجود دارند، میتوانید دستور زیر را اجرا کنید:
dpkg --get-selections | grep postgres
همچنین میتوانید لیست خوشههای موجود در دستگاه خود را با اجرای دستور زیر نمایش دهید:
pg_lsclusters
توقف Postgres قبل از انجام تغییرات
ابتدا باید هر سرویسی که از PostgreSQL استفاده میکند را متوقف کنیم تا بتوانیم پایگاه دادهی خود را به صورت ایمن ارتقاء دهیم.
sudo service postgresql stop
تغییر نام خوشه پیشفرض نسخه جدید PostgreSQL
هنگامی که بستههای PostgreSQL نصب میشوند، یک خوشه پیشفرض برای شما ایجاد میشود. ما باید نام خوشه PostgreSQL جدید را تغییر دهیم تا زمانی که خوشه قدیمی را ارتقاء میدهیم، نامها با یکدیگر تداخل نداشته باشند.
sudo pg_renamecluster 16 main main_pristine
ارتقاء خوشه قدیمی به آخرین نسخه
شما باید نسخه قدیمی PostgreSQL خود را (در اینجا 15) با استفاده از دستور زیر ارتقاء دهید:
sudo pg_upgradecluster 15 main
اطمینان حاصل کنید که همه چیز دوباره به درستی کار میکند
میتوانیم PostgreSQL را دوباره راهاندازی کنیم و این بار باید خوشه PostgreSQL 16 جدید در حال اجرا باشد.
sudo service postgresql start
همچنین باید ببینید که خوشه قدیمی غیرفعال شده و نسخه جدید PostgreSQL در حال اجرا باشد:
pg_lsclusters
حذف خوشه قدیمی
اختیاری است، شما میتوانید پس از تأیید کارکردن نسخه جدید و عدم نیاز به خوشه قدیمی، آن را حذف کنید.
sudo pg_dropcluster 15 main --stop
نظرات کاربران