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 数据库。

如果您已经创建了数据库,则无需执行第一步:-

步=1

打开终端然后运行以下命令来创建 postgres 数据库和用户:-

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 回答