#author("2023-04-18T03:48:05+00:00","default:wikiadmin","wikiadmin") #author("2023-04-18T03:48:41+00:00","default:wikiadmin","wikiadmin") #contents *Mariadbからの移行 [#wf419fbd] -予めDBはUTF-8で用意しておく(デフォルトのエンコーディングではバイト数になるため) su - postgres # コマンドで実行。パスワード入れる createuser -U postgres appdbuser --pwprompt -S -R -D # psql にて実行 create database pg_cakephp OWNER = appdbuser TEMPLATE = template0 ENCODING = 'UTF8'; **mysqldump [#f49d8b29] mysqldump -uroot -p cakephp --compatible=postgresql -t -c --skip-quote-names --skip-extended-insert --skip-add-locks --default-character-set=utf8 > pg_compati_dump.sql **ツール pgloader [#t6b6572f] ***インストール [#r1842351] DebianならAptで入れられるのだが、CentOS7はソースインストール git clone https://github.com/dimitri/pgloader.git cd pgloader chmod +x ./bootstrap-centos7.sh sudo ./bootstrap-centos7.sh make pgloader bootstrap-centos7.shで「ln: シンボリックリンク `/usr/lib64/libsybdb.so' の作成に失敗しました: ファイルが存在します」のエラーが出るが続行。 ***移行実施 [#tdb98e52] su - postgres build/bin/pgloader mysql://user:password@localhost/DB_NAME pgsql:///pg_cakephp timeoutとか結構失敗確立高いのでパラメータ調整必要そう。 2023年トライしたら9.xは対応外なのかpg_sequenceがないとのエラー **Mariadb側の設定変更 [#r5a90c48] -read/writeともに60でも失敗したので600にした。トータル11分かかっているのでこのぐらいが適正値かと MariaDB [cakephp]> show global variables like "%net%timeout%"; +-------------------+-------+ | Variable_name | Value | +-------------------+-------+ | net_read_timeout | 30 | | net_write_timeout | 60 | | slave_net_timeout | 3600 | +-------------------+-------+ 3 rows in set (0.01 sec) MariaDB [(none)]> SET GLOBAL net_read_timeout = 60;