0

musicbrainz データベース ダンプを使用して、Windows Server 2008 で作業しています。ダンプを問題なく解凍しました。名前がデータベース テーブルを反映した、拡張子のない約 60 個のファイルがあります。

github で見つけた createtables sql スクリプトを動作させることができました。解凍したファイルをミラーリングする空のテーブルを持つデータベース スキーマがあります。

問題は、私がpsqlコマンドラインインターフェースにいて、大きなオブジェクトのインポートコマンドを次のように発行する方法を見つけたことです

\lo_import 'パス/ファイル名'

ファイルが非常に大きく、実行した瞬間にCPUライトが狂ったように点滅し始めるため、うまくいくようです。データベースを更新した後、問題はPostgresに戻ってきました。テーブルはまだ空です。そのデータがどこにあるのかわかりません。

私は正真正銘の Windows プログラマー (.NET/SQL/JQuery) なので、この観点から何が起こっているのかを説明できる人が必要です。unix や linux、あるいは Windows 以外で何が動作するかを説明しても役に立たないでしょう。

4

2 に答える 2

1

データダンプをインポートするための推奨される方法は、musicbrainzサーバーに含まれているINSTALLファイルの指示に従うことです。

https://github.com/metabrainz/musicbrainz-server/blob/master/INSTALL

あなたが言及する「拡張子のない60ファイル」は単純なタブ区切りファイルであり、postgresql COPY FROMコマンドを使用して手動でインポートできる場合がありますが、これもお勧めしません。

musicbrainzデータベースにアクセスするには、仮想マシンを取得する方が簡単な場合があります。http://wiki.musicbrainz.org/MusicBrainz_Server/Setupを参照してください。

于 2012-04-17T14:48:40.217 に答える
0

SQL ダンプ データを postgres db にインポートするだけです。

すでに DB を作成している場合は、最初の手順に従う必要はありません:-

ステップ=1

ターミナルを開き、次のコマンドを実行して postgre データベースとユーザーを作成します。

sudo -u postgres psql

postgres=# create database mydb;

postgres=# create user myuser with encrypted password 'mypass';

postgres=# grant all privileges on database mydb to myuser;

ステップ=2

\c データベースの選択に使用します。

postgres=# \c yourdatabasename

\i データベースにダンプ データをインポートするために使用されます。

yourdatabasename=# \i path_of_your_dump_file例えば:-

yourdatabasename=# \i /home/developer/projects/django_projects/db_dump.sql

データのインポート時にこのタイプのエラーが発生した場合:-

ERROR: role "yourusername" does not exist

次のコマンドを使用して、「db_user/yourusername」にスーパーユーザーを作成できます。

postgres=# ALTER USER fusion WITH SUPERUSER;

ALTER ROLE

于 2021-01-08T06:25:30.027 に答える