Mariadbからの移行

su - postgres
# コマンドで実行。パスワード入れる
createuser -U postgres appdbuser --pwprompt -S -R -D
# psql にて実行
create database pg_cakephp  OWNER = appdbuser TEMPLATE = template0 ENCODING = 'UTF8';

mysqldump

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

インストール

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' の作成に失敗しました: ファイルが存在します」のエラーが出るが続行。

移行実施

su - postgres
build/bin/pgloader mysql://user:password@localhost/DB_NAME pgsql:///pg_cakephp

timeoutとか結構失敗確立高いのでパラメータ調整必要そう。

2023年トライしたら9.xは対応外なのかpg_sequenceがないとのエラー

Mariadb側の設定変更

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;

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-04-18 (火) 12:48:41