2016-03-21 24 views
0

Yazılımımızda hala 8.4 postgresq kullanıyoruz. Archlinux Üzerinden 8.4 yükleme olanağı bulamadım, bu yüzden 9.5 ile bir göreve başladım ve bunu 8.4'e çevirmek istedim. Artık UPDATE sorgusunu her iki sürümde de çalıştırabilirim ama farklı sonuçlar elde ediyorum.güncelleme sonuçları postgresql 8.4 ve 9.5 farklı

Sorgu:

UPDATE properties                
SET propertyvalue = regexp_replace(propertyvalue, E'[\u0001-\u001f]', '', 'g') 
WHERE properties_id in 
    (SELECT DISTINCT(properties_id) 
    FROM regexp_matches(propertyvalue, E'[\u0001-\u001f]')); 

İş Akışı Ben veritabanını REINIT ve her iki versiyonda içine aynı sql-dökümü dökümü olmasıdır.

8.4'de "UPDATE 2689816" yazıyor ve 9.5 üzerinde "UPDATE 241294" yazıyor. Beni en çok kafasını karıştıran ne

count 
-------- 
241294 
(1 row) 

: Ben

SELECT count(*) 
FROM properties 
WHERE properties_id in 
    (SELECT DISTINCT(properties_id) 
    FROM regexp_matches(propertyvalue, E'[\\u0001-\\u001f]')); 

çalıştırdığınızda

Ben her iki versiyonu ile aynı sonucu almak. regexp_matches, deseni regexp_replace'den farklı şekilde yorumluyor gibi görünüyor mu?

Konuyla ilgili herhangi bir deneyimi var mı?

cevap

0

Ben sadece aptaldım, komut sadece bir \ 'yi kaldırmış ve sadece buradaki sorumu gördüm, soru için üzgünüm