C# Npgsql异常-语法错误位于或接近\&引用;
我正在尝试执行postgresql查询(\list),以使用npsql获取数据库列表C# Npgsql异常-语法错误位于或接近\&引用;,c#,postgresql,npgsql,C#,Postgresql,Npgsql,我正在尝试执行postgresql查询(\list),以使用npsql获取数据库列表 string postgresQuery = @"\list"; ICollection<Schema> schemas = new List<Schema>(); string ConnectionString = "Host=xxx;Username=postgres;Password=admin;Database=test;";
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();
string postgresQuery=@“\list”;
ICollection schemas=new List();
字符串连接字符串=
“主机=xxx;用户名=postgres;密码=admin;数据库=test;”;
NpgsqlConnection conn=新的NpgsqlConnection(ConnectionString);
NpgsqlCommand cmd=新的NpgsqlCommand(康涅狄格州Postgreskery);
conn.Open();
NpgsqlDataReader=cmd.ExecuteReader();
执行查询时遇到“在“\”处或附近出现语法错误”的问题。字符串包含双斜杠,如下所示(\list),而不是单斜杠(\list)。请让我知道是否有任何解决办法。提前感谢。
\list
不是SQL查询。这是psql工具的一个命令
要使用SQL获取所有数据库的列表,请使用以下查询:
SELECT datname FROM pg_database
WHERE datistemplate = false;
检查
描述了pg_数据库
表的字段
数据库的所有者存储在datdba
字段中,该字段引用pg_authid
表。可以找到用户拥有的所有数据库,如中所示
当然,查询应该参数化:
SELECT datname
FROM pg_database
JOIN pg_authid ON pg_database.datdba = pg_authid.oid
WHERE rolname = :username
pg\u authid
已被描述\list
不是有效的SQL查询。这是psql工具的命令
可能重复感谢更新。这将列出所有数据库。但是我只需要所有由用户创建的数据库,而不是PostgreSQL中的所有数据库。请告诉我是否可以只获取由用户创建的数据库。这是datdba
字段。您可以将其用作查询中的筛选器,或与pg_authid
表联接。检查文档和文档页面
SELECT datname
FROM pg_database
JOIN pg_authid ON pg_database.datdba = pg_authid.oid
WHERE rolname = :username