2017-04-19 12 views
0

私は、PostgreSQL 9.6をEnterpriseDBから提供されたUbuntu 16.04にインストールしています。私はローカルサーバーに接続し、数ヶ月間使用しています。私はこの時点で、バックアップサーバーをすべきで考え出したので、次のように私は、pg_dumpのコマンドを使用してみました:/opt/PostgreSQL/9.6/binでPostgresのbinにPostgreSQL 9.6のバックアップを実行している問題(pg_dump/pg_dumpall)

  1. CD
  2. 実行pg_dumpのsudo pg_dumpall > /sata_ssd2/pgdump/0419.bkp
経由

これはエラーを示します。Error: You must install at least one postgresql-client-<version> package.経由でインストールしようとしました:sudo apt-get install postgresql-client-9.6が存在しないようです。

また、pgAdmin4でpg_dumpとpg_dumpallを実行しようとしました。最初に、EDB Advanced Server Binary PathとPostgreSQL Binary Pathのバイナリパスを記入しました。私はopt/PostgreSQL/9.6/bin/を入れました。これはpg_dumpの実行可能ファイルです。私がバックアップを実行しようとしたとき、私はエラー:'ascii' codec can't decode byte 0xe1 in position 1: ordinal not in range(128)を得ました。私はpostgresql.confのclient_encoding = SQLasciiからclient_encoding = utf8に変更することを推奨していましたが、これは役に立ちませんでした。

ここからどこに行くべきかアドバイスはありますか?

+0

セッションにPGDATA、PGHOME、およびPGLOCALEDIR環境変数が定義されていますか? – Dan

+1

'cd to postgres bin/opt/PostgreSQL/9.6/bin'なぜですか?あなたは '/ opt/PostgreSQL/9.6/bin'をPATHに持っていませんか? (あなたはしないでください) – wildplasser

+0

'sudo pg_dumpall ...' rootとして実行しないでください。rootは(通常は)* postgres *ユーザではありません。ユーザ 'postgres'(= postgresのスーパーユーザ)postgresユーザは、正しいPATHやその他の環境設定を持つ可能性も高くなります。 – wildplasser

答えて

0

unix/linuxシステムでは、現在のディレクトリ.PATHになく、バイナリを検索しません。

pg_basebackup/opt/PostgreSQL/9.6/bin/に実行する場合は、/opt/PostgreSQL/9.6/bin/pg_basebackupを実行します。

pg_basebackupのコマンドを実行したかったら、代わりに./pg_basebackupと書くことができます。しかし、むしろcdではなく完全なパスを使用する方が良いでしょう。

関連する問題