untuk beberapa (tidak begitu jelas sebab saya) Saya gagal untuk menaik taraf daemon Postgresql dalam pengedaran menaik taraf salah satu pelayan Debian saya. syaitan Postgresql telah ciri-ciri yang bagus tidak mula menggunakan versi baru (tidak seperti Mysql) manakala tidak meyakinkan, baru adalah serasi sepenuhnya dengan pelancaran – amat berguna untuk pangkalan data yang besar. Proses untuk mengemas kini terhad kepada yang berikut 2 jejak langkah:

  • pg_dropcluster
  • pg_upgradecluster

Sebelum izdropite pg kelompok daemon mesti dihentikan!

pg_dropcluster 9.4 main

Тази команда преминава бързо, след което преминаваме към съществената частсамият ъпгрейд

pg_upgradecluster 9.1 main
Disabling connections to the old cluster during upgrade...
Restarting old cluster with restricted connections...
Creating new cluster 9.4/main ...
config /etc/postgresql/9.4/main
data   /var/lib/postgresql/9.4/main
locale en_US.UTF-8
Flags of /var/lib/postgresql/9.4/main set as -------------e-C
port   5433
Disabling connections to the new cluster during upgrade...
Roles, databases, schemas, ACLs...
Fixing hardcoded library paths for stored procedures...
Upgrading database postgres...
Analyzing database postgres...
Fixing hardcoded library paths for stored procedures...
Upgrading database template1...
Analyzing database template1...
Fixing hardcoded library paths for stored procedures...
Upgrading database xpqt...
Analyzing database xpqt...
Re-enabling connections to the old cluster...
Re-enabling connections to the new cluster...
Copying old configuration files...
Copying old start.conf...
Copying old pg_ctl.conf...
Copying old server.crt...
Copying old server.key...
Stopping target cluster...
Stopping old cluster...
Disabling automatic startup of old cluster...
Configuring old cluster to use a different port (5433)...
Starting target cluster on the original port...
Success. Please check that the upgraded cluster works. If it does,
you can remove the old cluster with

pg_dropcluster 9.1 main

Ако всичко е минло гладко трябва да получите съобщение като горното което ви подканва да разкарате старите данни от pg.

pg_dropcluster 9.1 main

В края на тая тарпана вече можете да стартирате процеса си отново. При мен базите са малки и за съжаление не мога да дам оценка за колко време преминава същественият ъпгрейд.

Sejak minggu lepas membeli Fantastico Deluxe pemasang, yang pada pendapat saya adalah salah satu yang paling baik untuk pelayan CPanel. Kami dipasang dan diuji semuanya berjalan lancar. Hari ini, pelanggan memberitahu saya tentang masalah dengan pengekodan pemasangan wordpress. Melalui barangan dan pangkalan masalah segera bersinar adalah Latin1 UTF8 pengekodan piawai berbanding menganggapnya. Lebih menyeronokkan adalah, yang phpmyadmin-menulis dan digunakan secara lalai UTF8, drama. Saya membuat keputusan untuk mengkaji semula fail Fantastico-it untuk melihat jika terdapat adalah suatu tempat di mana saya boleh mendapati diri saya tetapan pangkalan data secara lalai pada mulanya melihat apa-apa. Kemudian sesuatu Tekna saya untuk melihat apa yang ada di my.conf dan apa yang boleh dilihat tidak ada tetapan berkaitan dalam konfigurasi dan semua lampu pada apa sahaja yang ditetapkan sebagai lalai. server mysql hardkodnat menggunakan UTF8 melainkan dikonfigurasikan dengan tetapan lain dan Fantastico-ia jelas adalah Latin1 ( yang merupakan keputusan cukup bodoh). Решението както винаги е тривиално добавят се 2 реда в [mysqld] часста за да се окаже UTF8 като кодировка по подразбиране и всичко заспива 🙂

character-set-server=utf8
collation-server=utf8_general_ci

Нямам никаква идея поради каква причина съм пропуснал тези настройки при положение че си играх да правя няколкофининастройки на mysql-а.

Dipertingkatkan oleh Zemanta

Image representing MySQL as depicted in CrunchBase

Преди известно време бях писал за Carian teks penuh MySQL 🙂 Днес имах много интересно преживяване с една заявка. В общи линии заявката търси за резултати който липсват друга таблица. Един основне Select и един sub select в WHERE частта на заявката. В общи линии скелета и е

SELECT DISTINCT (
`field`
)
FROM `table1`
WHERE `someID` =44
AND `firsTextField` NOT
IN (

SELECT DISTINCT (
`secondTextField`
)
FROM `table2`
WHERE `otherID` =44
)

В общи линии елементарна заявка. Написах я за 30 сек пускам я и зацикли машината. След дълго и търпеливо чакане от моя страна или по точно ~43 сек . Ми се изплю резултат lol . Пффф лудница. Влизам в машината гледам процесора е нормално натоварен почти в idle състояние. Шок и ужас. Пускам пак заявката пак същия резултат. Fuck WTF. Пускам explain на заявката и всичко лъснавторото поле secondTextField е само full text search без index, а там табличката е скромна от около 35к реда. Кой да четеfull text search не е индекс. Вече е ясен проблема набързо едно

ALTER TABLE `links` ADD INDEX ( `linkUrlID` ) 

И нещата си дойдоха на местата Query took 0.0005 sec 😀

Внимавайте как си слагате индексите от тях ви зависи маргинално скоростта на заявката.

p.s Като цяло аз съм си крив за горната ситуация не само защото липсва индекс ами защото не ползва full text search метода 😀

Dipertingkatkan oleh Zemanta

Semalam selepas mengemas kini versi mysql, server-dilihat saya mula menjerit pada saya, bahawa terdapat sebuah meja, yang tidak ditutup secara bersih dan perlukan pembaikan, dan lain-lain. blah, apa yang akan jadual ini, Masih Saya mempunyai 30-an saya pada pelayan ini. Salah satu pilihan adalah untuk melihat dalam log-s apa yang dikatakan pada isu dan menjalankan pembaikan meja atau pilihan lain – setakat ini yang lebih baik – Ia adalah untuk menjalankan pembaikan, pengesahan dan pengoptimuman semua jadual. Ini akan menggunakan alat mysqlcheck. Общо взето вариантите в случая са като и двете коменди са синонимни една на друга:

mysqlcheck -Aor -u root -p

mysqlcheck -u root -p --auto-repair --check --optimize --all-databases

Общо взето, която и от двете команди да използвате, ефектът ще е еднакъвароматична поправка, проверка и оптимизация на всички таблици. След като напишете която и да е от двете команди, ще бъдете попитани за root паролата на mysql server-a ви.