一样的问题,我的是win 2008 好使,win2012 就出现这种情况了,我解决目前启动不了的问题了是conf配置文件的问题,
专注于为中小企业提供做网站、成都网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业鼓楼免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
lc_monetary = 'Chinese (Simplified)_People''s Republic of China.936'
lc_numeric = 'Chinese (Simplified)_People''s Republic of China.936'
lc_time = 'Chinese (Simplified)_People''s Republic of China.936'
我的是这三行出了问题
lc_monetary = 'Chinese (Simplified)_China.936'
lc_numeric = 'Chinese (Simplified)_China.936'
lc_time = 'Chinese (Simplified)_China.936'
换成这样了服务就好使了
要想打开自动字符集转换功能,你必须告诉 PostgreSQL 你想在客户端使用的字符集(编码)。你可以用好几种方法实现这个目的。
用 psql 里的 /encoding 命令。 /encoding 允许你动态修改客户端编码。 比如,把编码改变为 SJIS,键入:
/encoding SJIS
使用 libpq 函数。 /encoding 在做此用途的时候实际上是调用 PQsetClientEncoding()。
int PQsetClientEncoding(PGconn *conn, const char *encoding);
这里 conn 与后端的联接,而 encoding 是你想用的编码。如果编码设置成功它返回 0,否则返回 -1。本次联接的当前编码可以用下面函数显示:
int PQclientEncoding(const PGconn *conn);
请注意它只返回编码 ID,而不是象 EUC_JP 这样的编码符号字串。 要把编码 ID 转换为编码符号,你可以用:
char *pg_encoding_to_char(int encoding_id);
使用 SET client_encoding TO。 可以用 SQL 命令设置客户端编码:
SET CLIENT_ENCODING TO 'value';
你还可以把 SQL 语法里的 SET NAMES用于这个目的:
SET NAMES 'value';
查询当前客户端编码:
SHOW client_encoding;
返回缺省编码:
RESET client_encoding;
使用 PGCLIENTENCODING。 如果在客户端的环境里定义了 PGCLIENTENCODING 环境变量, 那么在与服务器进行联接时将自动选择客户端编码。 (这个编码随后可以用上面谈到的任何其它方法覆盖。)
使用client_encoding配置变量。 如果在 postgresql.conf 里设置了 client_encoding 变量, 那么在与服务器建立了联接之后,这个客户端编码将自动选定。(这个设置随后可以被上面提到 的其他方法覆盖。)
假如无法进行特定的字符转换 — 比如, 你选的服务器编码是EUC_JP, 客户端是LATIN1,那么有些日文字符不能转换成LATIN1。这时, 不能用LATIN1字符集表示的字母将被转换成圆括弧包围的十六进制,像,(826C) 这样。
如果客户端字符集定义成了 SQL_ASCII,那么编码转换会被关闭, 不管服务器的字符集是什么都一样。和服务器一样,除非你的工作环境全部是 ASCII 数据, 否则使用 SQL_ASCII 是不明智的。
postgresql.conf是PostgreSQL的配置文件。其基本格式为: 一行就是一个配置变量的设定,采用"变量名 = 变量值"的赋值格式。 postgresql.conf一般位于postgresql的数据目录中,它是在postgresql数据集创建时自动创建出来的。可以通过修改postgresq
PostgreSQL数据库服务器,就需要进行相应的配置。 配置远 程连接PostgreSQL数据库的步骤很简单,只需要修改data目录下的pg_hba.conf和postgresql.conf。 pg_hba.conf:配置对数据库的访问权限, postgresql.conf:配置PostgreSQL数据库服务器的相应的参数。 步骤:
1.修改pg_hba.conf文件,配置用户的访问权限(#开头的行是注释内容): # TYPE DATABASE USER CIDR-ADDRESS METHOD # “local” is for Unix domain socket connections only local all all trust # IPv4 local connections: host all all 127.0.0.1/32 trust host all all 192.168.1.0/24 md5 # IPv6 local connections: host all all ::
1/128 trust 其中,第7条是新添加的内容,表示允许网段192.168.1.0上的所有主机使用所有合法的数据库用户名访问数据库,并提供加密的密码验证。 其中,数字24是子网掩码,表示允许192.168.1.0--192.168.1.255的计算机访问!
2.修改postgresql.conf文件,将数据库服务器的监听模式修改为监听所有主机发出的连接请求。 定位到#listen_addresses=’localhost’。PostgreSQL安装完成后,默认是只接受来在本机localhost的连接请 求。 将行开头都#去掉,将行内容修改为listen_addresses=’*‘来允许数据库服务器监听来自任何主机的连接请求 上面就是Linux设置PostgreSQL远程访问的方法介绍了,如果你不设置,则PostgreSQL默认只能范围本地,功能比较局限。
postgresql.conf是PostgreSQL的配置文件。其基本格式为: 一行就是一个配置变量的设定,采用"变量名 = 变量值"的赋值格式。
postgresql.conf一般位于postgresql的数据目录中,它是在postgresql数据集创建时自动创建出来的。可以通过修改postgresql.conf来修改PostgreSQL的配置变量值。