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();
View Code

 

posted @ 2023-08-02 11:23  chy710  阅读(82)  评论(0)    收藏  举报