在Windows下将Postgresql安装成Windows服务

在Windows下怎么将postgresql安装成服务?
其实安装办法和mysql在Windows的下安装差不多,这里我们可以使用类unix下安装postgresql的类比思维,这里简单介绍一下。
在window里,不要直接用postmaster来启动,这样会出现:
不允许管理员权限的用户运行 PostgreSQL 服务器
服务器必须以一个非特权的用户身份启动以避免
可能的系统安全性问题. 参阅文档获取更多
有关如何正确启动服务器的信息.
的字样,postgresql提供一个pg_ctl.exe程序来完成安装windows的服务:
F:/usr/local/pgsql/bin/pg_ctl.exe runservice -N "PGSQL" -D "F:/usr/local/pgsql/data"
然后启动PGSQL服务:
<blockquote>net start PGSQL</blockquote>
提示成功,且打开任务管理器,发现postgres.exe进程在,但是直接使用psql时候出现
<blockquote>D:\>psql
psql: could not connect to server: No such file or directory
        Is the server running locally and accepting
        connections on Unix domain socket "/tmp/.s.PGSQL.5432"?</blockquote>
看样子是类似unix的socket的接口没有接上,那我们就想办法接上吧。
开始从postgresql的配置文件postgresql.conf 中没有发现tcpip_socket字样的接口,去官方文档一查,原来是postgresql从8.24版本以后抛弃了这个参数,一切使用 listen_addresses来控制。
于是修改postgresql.conf文件,将listen_addresses修改成 'localhost',并去掉前面的“#”号,片段如下:
listen_addresses = 'localhost'        # what IP address(es) to listen on;
                    # comma-separated list of addresses;
                    # defaults to 'localhost', '*' = all
                    # (change requires restart)
port = 5432                # (change requires restart)
max_connections = 100            # (change requires restart)
然后使用客户端程序psql进行连接:
D:\>psql -h localhost -U root -d cnangel
Welcome to psql 8.0.7, the PostgreSQL interactive terminal.

Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help with psql commands
       \g or terminate with semicolon to execute query
       \q to quit

cnangel=# \l
        List of databases
   Name    |  Owner  | Encoding
-----------+---------+-----------
 QQ        | cnangel      | SQL_ASCII
 cnangel   | cnangel | SQL_ASCII
 postgres  | root    | SQL_ASCII
 root      | root    | SQL_ASCII
 template0 | root    | SQL_ASCII
 template1 | root    | SQL_ASCII
(6 rows)
cnangel=# alter database "QQ" owner to "QQ";
cnangel=# \l
        List of databases
   Name    |  Owner  | Encoding
-----------+---------+-----------
 QQ        | QQ      | SQL_ASCII
 cnangel   | cnangel | SQL_ASCII
 postgres  | root    | SQL_ASCII
 root      | root    | SQL_ASCII
 template0 | root    | SQL_ASCII
 template1 | root    | SQL_ASCII
(6 rows)
使用各种元命令和SQL语句无任何问题,一个Windows系统上架设的POSTGRESQL就完成了,我的POSTGRESPQL版本是postgresql v8.25 no install版本。

Categories

| | 评论(0)

发表评论

May 2010

            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

关于此日记

此日记由 Cnangel 发表于 January 5, 2008 5:46 PM

此Blog上的上一篇日记查以前雷傲的一个日历插件

此Blog上的下一篇日记Windows下对postgresql数据库接口进行编程

首页归档页可以看到最新的日记和所有日记。

归档

Powered by Movable Type 5.02