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