sql >> データベース >  >> RDS >> PostgreSQL

最新バージョンのOSX(YosemiteまたはEl Capitan)のインストール後に`pg_tblspc`がありません

    解決しました...部分的に。

    どうやら、OS Xの最新バージョン(YosemiteやEl Capitanなど)をインストールすると、/usr/local/var/postgres内のいくつかのディレクトリが削除されます 。

    これを修正するには、不足しているディレクトリを再作成するだけです。

    mkdir -p /usr/local/var/postgres/pg_commit_ts
    mkdir -p /usr/local/var/postgres/pg_dynshmem
    mkdir -p /usr/local/var/postgres/pg_logical/mappings
    mkdir -p /usr/local/var/postgres/pg_logical/snapshots
    mkdir -p /usr/local/var/postgres/pg_replslot
    mkdir -p /usr/local/var/postgres/pg_serial
    mkdir -p /usr/local/var/postgres/pg_snapshots
    mkdir -p /usr/local/var/postgres/pg_stat
    mkdir -p /usr/local/var/postgres/pg_stat_tmp
    mkdir -p /usr/local/var/postgres/pg_tblspc
    mkdir -p /usr/local/var/postgres/pg_twophase
    

    または、より簡潔に(Nateに感謝 ):

    mkdir -p /usr/local/var/postgres/{{pg_commit_ts,pg_dynshmem,pg_replslot,pg_serial,pg_snapshots,pg_stat,pg_stat_tmp,pg_tblspc,pg_twophase},pg_logical/{mappings,snapshots}}
    

    pg_ctl start -D /usr/local/var/postgresを再実行します これで、サーバーを正常に起動し、少なくとも私にとっては、データを失うことなく起動します。

    更新

    私のシステムでは、Postgresが実行されているときでも、これらのディレクトリの一部は空です。たぶん、いくつかの「クリーニング」操作の一部として、Yosemiteは空のディレクトリを削除しますか?いずれにせよ、私は先に進み、将来の削除を防ぐために各ディレクトリに「.keep」ファイルを作成しました。

    touch /usr/local/var/postgres/{{pg_commit_ts,pg_dynshmem,pg_replslot,pg_serial,pg_snapshots,pg_stat,pg_stat_tmp,pg_tblspc,pg_twophase},pg_logical/{mappings,snapshots}}/.keep
    

    .keepを作成する これらのディレクトリにあるファイルは、ログファイルにノイズを発生させますが、他の何かに悪影響を与えるようには見えません。



    1. Djangoおよびpostgresqlスキーマ

    2. MariaDBでのRPAD()のしくみ

    3. MySQLロードエラーを修正するにはどうすればよいですか

    4. 左結合で結合された行の数を数える