如何安装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 上的安装问题