如何安装PostgreSQL 9.2.4 For Windows

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何安装PostgreSQL 9.2.4 For Windows相关的知识,希望对你有一定的参考价值。

参考技术A 一、安装准备1.安装介绍可浏览PostgreSQL在Windows
平台下的下载页面,了解各种下载和安装PostgreSQL的方法。
在Windows上安装PostgreSQL最简单的方法是从前面的下载页面下载由EnterpriseDB公司维护的一键安装程序,这个安装程序将在Windows上安装一个已编译好的PostgreSQL数据库软件、一个图形界面的管理程序pgAdmin、可选择的有附加功能的增值模块和过程语言。另外一个名叫StackBuilder的软件也会安装上,它可以帮助你下载或安装附加模块,如ODBC或JDBC驱动
2.安装环境Win7旗舰版64位
postgresql-9.2.4-1-windows-x64.exe
二、安装过程1.
开始安装2.
选择安装目录3.
选择数据存放目录
4.选择数据存放目录
该目录在以后的使用过程中可以修改调整。5.
输入超级用户口令6.
监听端口号设置
默认即可,以后使用中可以通过修改postgresql.conf进行调整。7.
高级选项-语言环境设置选择Default locale
即可,中文简体
新加坡(Chinese[Simplified],
Singapore)未做尝试,据说会导致查询结果和排序效果不正确。8.
安装进度9.
安装结束之后可以利用
Stack Builder工具安装PostgreSql相关插件、驱动或工具。
选择<远程服务器
进行软件下载及安装。
至此,完整软件包的安装结束。

全新安装后如何登录并验证 Postgresql?

【中文标题】全新安装后如何登录并验证 Postgresql?【英文标题】:How do I login and authenticate to Postgresql after a fresh install? 【发布时间】:2011-01-11 11:15:10 【问题描述】:

在 mint ubuntu 上安装了新的 postgres 8.4。如何为 postgres 创建用户并使用 psql 登录?

当我输入 psql 时,它只会告诉我

psql: FATAL: Ident authentication failed for user "my-ubuntu-username"

【问题讨论】:

查看blog post。 【参考方案1】:

使用 postgres 用户或我们创建的任何其他用户登录的主要区别在于,当使用 postgres 用户时,不需要使用 -h 指定主机,而是使用另一个用户如果。

使用 postgres 用户登录

$ psql -U postgres 

使用其他用户创建和登录

# CREATE ROLE usertest LOGIN PASSWORD 'pwtest';
# CREATE DATABASE dbtest WITH OWNER = usertest;
# SHOW port;
# \q

$ psql -h localhost -d dbtest -U usertest -p 5432

GL

Source

【讨论】:

【参考方案2】:

您可以使用两种方法。两者都需要创建用户数据库。

默认情况下 psql 连接到与用户同名的数据库。因此,有一个约定,即 “用户的数据库”。如果您的用户只需要一个数据库,则没有理由打破该约定。我们将使用 mydatabase 作为示例数据库名称。

    使用 createuser 和 createdb,我们可以明确数据库名称,

    $ sudo -u postgres createuser -s $USER
    $ createdb mydatabase
    $ psql -d mydatabase
    

    您可能应该完全忽略这一点,而让所有命令默认使用用户名。

    $ sudo -u postgres createuser -s $USER
    $ createdb
    $ psql
    

    使用 SQL 管理命令,并通过 TCP 使用密码连接

    $ sudo -u postgres psql postgres
    

    然后,在 psql shell 中

    CREATE ROLE myuser LOGIN PASSWORD 'mypass';
    CREATE DATABASE mydatabase WITH OWNER = myuser;
    

    然后就可以登录了,

    $ psql -h localhost -d mydatabase -U myuser -p <port>
    

    如果您不知道端口,您始终可以通过运行以下命令来获取它,作为postgres 用户,

    SHOW port;
    

    或者,

    $ grep "port =" /etc/postgresql/*/main/postgresql.conf
    

旁注:postgres 用户

我建议不要修改postgres用户。

    它通常被操作系统锁定。没有人应该以postgres 的身份“登录”到操作系统。您应该拥有 root 权限才能以 postgres 身份进行身份验证。 它通常不受密码保护并委托给主机操作系统。这是好事。这通常意味着为了以postgres(相当于SQL Server 的SA 的PostgreSQL 身份)登录,您必须对底层数据文件具有写访问权限。而且,这意味着无论如何你通常都会造成严重破坏。 通过禁用此功能,您可以消除通过指定超级用户进行暴力攻击的风险。隐藏和掩盖超级用户的名字是有好处的。

【讨论】:

我了解如果使用数据库超级用户 (-s) 而不是非超级用户,则不会出现问题。对我来说下一个问题是,即使 DB 用户不是超级用户,也可以做些什么来让它运行。 在我的例子中,在使用以下命令创建用户后:$ sudo -u postgres createuser -s $USER,我需要使用以下命令配置密码:ALTER USER myuser WITH PASSWORD 'mypass'; (在使用以下命令登录 postgres 后: sudo -u postgres psql ) 如何理解命令sudo -u postgres psql postgres?我理解sudo 表示root 权限,-u postgres 表示以用户postgres 登录,psql 是连接到postgresql 的命令,但最后postgres 做什么?【参考方案3】:

您也可以作为“普通”用户(不是 postgres)连接到数据库:

postgres=# \connect opensim Opensim_Tester localhost;

Password for user Opensim_Tester:    

You are now connected to database "opensim" as user "Opensim_Tester" on host "localhost" at port "5432"

【讨论】:

【参考方案4】:

如果您的数据库客户端使用 TCP/IP 连接并且您在 pg_hba.conf 中配置了 ident auth,请检查您是否安装并运行了 identd。即使您只有本地客户端连接到“localhost”,这也是强制性的。

还要注意,现在 identd 可能必须是 IPv6 enabled 才能让 Postgresql 欢迎连接到 localhost 的客户端。

【讨论】:

【参考方案5】:

您遇到的错误是因为 your-ubuntu-username 不是有效的 Postgres 用户。

你需要告诉 psql 使用什么数据库用户名

psql -U postgres

您可能还需要指定要连接的数据库

psql -U postgres -d <dbname>

【讨论】:

我试过“psql -U postgres”,得到了同样的错误。我还没有创建任何数据库,只是重新安装。 psql -U myuser -d mydb 完美运行,而 psql -U myuser 尝试使用对等身份验证,谢谢!【参考方案6】:

默认情况下,您需要使用 postgres 用户:

sudo -u postgres psql postgres

【讨论】:

或者如果你不能使用sudo,这样做:“su postgres”然后“psql”

以上是关于如何安装PostgreSQL 9.2.4 For Windows的主要内容,如果未能解决你的问题,请参考以下文章

如何安装PostgreSQL 9.2.4 For Windows

PostgreSQL 9.2.4-x64 在 windows 8 Pro 64bit 上的安装问题

postgresql Linux安装

linux中postgres吃内存怎么办

Windows8专业版可以安装PostgreSQL数据库吗?

Postgresql服务部署