从Postgres中的elmah_error表更改架构

时间:2013-01-25 19:38:11

标签: c# asp.net postgresql elmah

我想将elmah_error表的架构从public更改为elmah。

我收到此错误:Npgsql.NpgsqlException: relation "elmah_error" does not exist。它一直在公开搜索这个表。

在Web.config上我试图在errorLog上设置schema=elmah但没有成功。找到一些Sqlerrolog.cs来添加架构,但是我在errorLog上使用了PgsqlErrorLog,发现没有PgsqlErrorLog.cs可以更改。

有人暗示在这种情况下该怎么做?

谢谢大家。

1 个答案:

答案 0 :(得分:0)

我对asp.net或C#方面并不熟悉,但在PostgreSQL方面有三种基本方法。第一种是使用模式名称限定表,即

select ... from elmah.elmah_error

另一种选择是为会话设置搜索路径:

SET search_path = 'elmah';

第三个选项是更改参数,以便自动设置搜索路径。

ALTER USER aspnet_user SET search_path = 'elmah';

您可以更改用户或数据库以设置搜索路径。