PostgresSQL on windows 2016
安装过程报警告
problem running post-install step installation may not complete correctly the database cluster initialisation failed
安装完后,连接不上数据库,服务里也没有。
初始化数据
C:\Program Files\PostgreSQL\15\bin>initdb.exe -D "C:\Program Files\PostgreSQL\15\data"
创建服务
pg_ctl.exe register -N PostgresSQL15 -D "C:\Program Files\PostgreSQL\15\data"
提示角色不存在,创建用户角色
createuser.exe -s -r postgres
启动windows服务,就可以连接上了。
安装后,自带命令行管理工具和界面管理工具pgAdmin

安装的时候有个选择区域,选择的china后,默认是gbk-936,程序是utf-8,会显示乱码。修改data目录下的postgresql.conf
lc_messages = 'en_US.UTF-8'
感受:难用的一B,特别是那个管理工具。
string constr = "Host=localhost;Username=postgres;Password=pwd;Database=kw;ClientEncoding=UTF-8;Encoding=UTF-8;Port=5432"; NpgsqlConnection con = new NpgsqlConnection(constr); string cmdText = "insert into exam_order values(@id,@rid,@tid,@cnt,@txt)"; NpgsqlCommand cmd = new NpgsqlCommand(cmdText,con); con.Open(); for (int i = 1; i <= 100; i++) { cmd.Parameters.Clear(); cmd.Parameters.AddWithValue("@rid", i); cmd.Parameters.AddWithValue("@tid", 12); cmd.Parameters.AddWithValue("@cnt", 100+i); cmd.Parameters.AddWithValue("@id", i); cmd.Parameters.AddWithValue("@txt", "测试文本 sql "+i.ToString()); cmd.ExecuteNonQuery(); } cmdText = "select * from exam_order"; NpgsqlDataAdapter da = new NpgsqlDataAdapter(cmdText, con); DataSet ds = new DataSet(); da.Fill(ds); foreach (DataRow dr in ds.Tables[0].Rows) { Console.WriteLine("{0} {1}", dr["room_id"].ToString(), dr["remark"].ToString()); } con.Close();
浙公网安备 33010602011771号