- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2022-02-01T00:28:37+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
# 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;