Npgsql Exception- syntax error at or near “”
我正在尝试执行postgresql查询(list),以获取使用npsql的数据库列表。
1 2 3 4 5 6 7 8 | string postgresQuery = @"\list"; ICollection<Schema> schemas = new List<Schema>(); string ConnectionString = "Host=xxx;Username=postgres;Password=admin;Database=test;"; NpgsqlConnection conn = new NpgsqlConnection(ConnectionString); NpgsqlCommand cmd = new NpgsqlCommand(postgresQuery, conn); conn.Open(); NpgsqlDataReader dataReader = cmd.ExecuteReader(); |
执行查询时遇到"语法错误在""处或附近"的问题。字符串包含双斜杠,如下(list)而不是单斜杠(list)。如果有什么解决办法,请告诉我。事先谢谢。
要使用SQL获取所有数据库的列表,请使用以下查询:
1 2 | SELECT datname FROM pg_database WHERE datistemplate = false; |
检查如何使用psql列出所有数据库和表?
这里介绍了
数据库的所有者存储在引用
1 2 3 4 | SELECT datname FROM pg_database JOIN pg_authid ON pg_database.datdba = pg_authid.oid WHERE rolname = 'username' |
当然,查询应该参数化:
1 2 3 4 | SELECT datname FROM pg_database JOIN pg_authid ON pg_database.datdba = pg_authid.oid WHERE rolname = :username |
这里介绍了