سلام
پروژه ای دارم که نوشته شده ولی با دیتابیس sql server هست
کارفرما ازم دیتابیس Postgres خواسته و به این دلیل که حدودا 300 میلیون رکورد دیتا هست و این که گزارشگیری های پیچیده ای داره
از بنده خواسته تمام دیتاهارو به Postgres انتقال بدم.
حالا میخواستم کمک کنین تا چطوری به آسان ترین روش ساختار دیتابیسی نرم افزار رو تغییر بدم
و با همین روش Entity و مایگریشن کارم رو با Postgres ادامه بدم
یکی از شناخته ترین نرم افزارهای مدیریت اطلاعات Sql Server هست که بهترین مزیت اون هم سادگی مدیریت اطلاعات و یوزرفرندلی بودن، هست. ولی این نرم افزار اشکالاتی داره از جمله این که هزینه بالای خود نرم افزار و سختگیریهای زیادی که در صدور مجوزهای داده ها داره. همچنین برای مدیریت داده های بزرگ راه حل های پیچیده ای رو داره که شاید برای هر کاربری قابل استفاده نباشه.
نرم افزار PostfreSql یکی از دیتابیس های رابطه ای (RDBMS) بسیار قدرتمندیه که عملکرد یکپارچه پایگاه داده شی گرا و/یا رابطه ای را ارائه می دهد. برای پروژه هایی که به سطح بالایی از یکپارچگی و قابلیت اطمینان نیاز دارند این نرم افزار توصیه می شود. همچنین این نرم افزار سرعت بسیار بالایی در پرس و جوها و مدیریت داده های بزرگ رو ارائه می دهد.
خب سوال شما خیلی کلی هست و دقیقا نمیشه پاسخ دقیقی براش ارائه کرد. اما اگر بخواید اطلاعات رو از Sql Server به PostgreSql انتقال بدید یک وجه مشترک هست و اونم اینه که هر دو نرم افزار از زبان پرس و جوی T-Sql استفاده می کنند. بنابراین شما می تونید :
خب در نهایت یک اسکریپت از دیتابیس دارید. حالا از این اسکریپت می تونید توی PostgreSql استفاده کنید. فقط یه سری تغییرات باید در اسکریپت بدید.
دستوراتی که مخصوص Sql Server هستند رو از اسکریپت پاک کنید. (مثلا Set ANSI_NULLS ON و ...)
در Sql Server برای کار با اشیا دیتابیس از براکت استفاده میشه. این براکتها رو با دابل کوتیشن عوض کنید.
اگر در اطراف types ها براکت به کار رفته حذفش کنید.
هر جا dbo نوشته شده با public تغییرش بدید.
کلیه عباراتی که در PostgreSql ساپورت نمیشن رو حذف کنید. مثلا CLUSTERED و WITH NOCHECK و ON PRIMARY و ...
اگر در جایی از IDENTITY برای افزایش اتوماتیک مقادیر استفاده شده عبارت INI IDENTITY رو با SERIAL تغییر بدید.
اگر جایی عبارت GO نوشته شده با ; تغییر بدید.
موارد بالا برای تبدیل اسکریپت قابل فهم برای PostgreSql مورد نیاز هست.
بهتره این موارد رو انجام بدید و اگر خطایی براتون رخ داد اون خطا رو بگید تا بررسی بشه چون اینجوری فقط میشه کلی توضیح داد.
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1031
- پاسخ :
1
|
تاریخ :
1400/08/02
- ساعت :
02:35:00 PM
- بازدید :
2563
- پاسخ :
1
|
تاریخ :
1403/01/15
- ساعت :
04:12:00 PM
- بازدید :
798
- پاسخ :
2
|
تاریخ :
1402/10/18
- ساعت :
10:45:00 PM
- بازدید :
704
- پاسخ :
2
|
تاریخ :
1402/08/18
- ساعت :
08:43:00 AM
- بازدید :
1311
- پاسخ :
0
|
تاریخ :
1402/08/16
- ساعت :
09:45:00 PM
- بازدید :
1037
- پاسخ :
1
|
تاریخ :
1402/06/27
- ساعت :
12:27:00 PM
- بازدید :
1458
- پاسخ :
2
|
تاریخ :
1402/06/25
- ساعت :
11:37:00 AM
- بازدید :
1040
- پاسخ :
1
|
تاریخ :
1402/06/18
- ساعت :
10:36:00 AM
- بازدید :
1750
- پاسخ :
2
|
تاریخ :
1399/06/01
- ساعت :
10:58:00 PM
- بازدید :
7551
- پاسخ :
1
|
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
49
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
88
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1031
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
426
- پاسخ :
1
|
تاریخ :
1402/08/01
- ساعت :
06:25:00 PM
- بازدید :
930
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1346
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4796
- پاسخ :
1
|
تاریخ :
1402/09/08
- ساعت :
07:34:00 PM
- بازدید :
1156
- پاسخ :
1
|
تاریخ :
1402/09/21
- ساعت :
11:10:00 PM
- بازدید :
594
- پاسخ :
1
|
تاریخ :
1403/07/27
- ساعت :
03:21:00 PM
- بازدید :
205
- پاسخ :
1
|