当前位置:首页 » 编程软件 » 编译安装pgsql

编译安装pgsql

发布时间: 2022-02-16 09:15:11

① 如何安装Postgresql 9.2.4 For Windows

具体过程如下:
步骤1:安装postgreSQL 9.2.4
具体过程参见:如何安装PostgreSQL 9.2.4 For Windows?

步骤2:配置鉴权口令文件
pg_upgrade会在升级过程中多次连接新旧数据库,所以可以在pg_hba.conf中将鉴权方式设为"Trust"或者在使用MD5鉴权方式下配置pgpass.conf文件(文件位置:%APPDATA%\postgresql\pgpass.conf)。这样可以避免在升级过程中提示鉴权失败而导致升级不能正常进行。待升级成功后可以移除或清空文件内容。

步骤3:安装插件
将旧数据库服务器中使用的插件同样安装至新数据库服务器中。

步骤4:停止新旧数据库服务
通过命令行或服务管理界面进行

出现问题:

原因:未使用管理员权限运行命令提示符(CMD)

步骤5:用非windows系统管理员权限用户做升级前准备
RUNAS /USER:postgres "CMD.EXE"
SET PATH=D:\Program Files\PostgreSQL\9.2\bin;%PATH%;

步骤6:进入postgres用户目录,执行pg_upgrade(如果环境变量设置正确,会使用新版本下的pg_upgrade),会有升级相应的日志文件生成于此
命令格式:pg_upgrade -b oldbindir -B newbindir -d olddatadir -D newdatadir [option...]
其中会使用 - r 参数:作用是在系统升级成功后仍然保留日志文件。

如果升级过程中出现问题,可以通过windos事件检查器及相应升级日志文件进行分析。
pg_upgrade_internal.log
pg_upgrade_restore.log
pg_upgrade_server.log
pg_upgrade_server_start.log
pg_upgrade_utility.log

出现问题:
(1) 没有配置pgpass.conf或pg_hba.conf,检查日志文件有如下错误信息
could not connect to old postmaster started with the command:
"D:/Program Files (x86)/PostgreSQL/9.1/bin/pg_ctl" -w -l "pg_upgrade_server.log" -D "D:/Users/lv/Data/PostgreSQL/9.1" -o "-p 50432 -b " start
cannot write to log file pg_upgrade_server.log

(2) PATH环境变量配置错误引起的失败
手册上的示例为:SET PATH=%PATH%;C:\Program Files\PostgreSQL\9.0\bin; 这样旧数据库服务器环境变量将会使其路径优先被搜索到,导致提示该版本下的pg_upgrade不支持升级到新数据库版本。

(3) 失败后根据提示重新用initdb生成数据库时未创建用户postgres

(4) 创建用户时未创建口令,检查pg_upgrade_internal.log,有如下错误信息
connection to database failed: fe_sendauth: no password supplied

(5) 升级进程未结束再次运行pg_upgrade不成功
可以在进程管理中停止所有postgresql进程,然后重新进行升级

(6) 升级成功后,日志文件被自动删除,可以在命令行中用-r参数指定保留。

步骤7:恢复对配置文件(pg_hba.conf,postgresql.conf)进行的修改
主要是将鉴权方式修改回比较安全的模式

步骤8:升级后处理
升级完成后,pg_upgrade会提示需要运行脚本或批处理文件检查新数据库服务器及删除旧数据库服务器数据。

② 我在postgresql上下载的文件postgresql-9.1.3-2-linux.run时这种格式安装

.gz
源码压缩文件,这个安装需要配置、编译后再安装,不建议你自己做。你应该下载二进制的已经配置、编译好的程序包(binary
package)。

③ 安装postgersql时,最后出现stack builder 2.1.0,这是什么

那个是堆栈生成器,你可要可不要,根据你自己的情况来定,具体如下

④ 可以不安装postgresql,只安装psql吗

PostgreSQL是现在比较流行的数据库之一,这个起源于伯克利(BSD)的数据库研究计划目前已经衍生成一项国际开发项目,并且有非常广泛的用户。据我了解国内四大国产数据库,其中三个都是基于PostgreSQL开发的。并且,因为许可证的灵活,任何人都可以以任何目的免费使用,修改,和分发 PostgreSQL,不管是私用,商用,还是学术研究使用。本文只是简单介绍一下postgresql的安装和简单的使用,语法方面涉及的比较少,以方便新手上路为目的。
1.系统环境和安装方法 ;
PostgreSQL的安装方法比较灵活,可以用源码包安装,也可以用您使用的发行版所带的软件包来安装,还可以采用在线安装……
1.1 系统环境:Ubuntu Linux 7.04 ;Fedora;Slackware;

1.2 安装;
Ubuntu下安装软件其实很简单,用新立得软件包管理器搜索psql便能查到postgresql-client-8.2(同时可以搜到8.1版本,哪一个都可以),选中-应用即可。或者在终端下输入
xiaop@localhost$ sudo apt-get install postgresql-8.2
Slackware下安装:请到 linuxpackages.net 上查找您所用系统的对应版本,用pkginstall 来安装,或您安装slap-get 工具,在线自动安装;要用到root权限,可以通用sudo。关于su和sudo的参考;《Linux 系统中的超级权限的控制》 安装postgresql的软件包,可用下面的办法 ;
xiaop@localhost# pkginstall post*.tgz

xiaop@localhost# slapt-get --install postgresql-8.2.4
在Fedora中,您可以用软件包在线安装工具来安装注:这样就安装好了PostgreSQL 8.2了,该安装将自动创建一个缺省的数据库集群(pgsqldb.org中的译法)“main”,且生成一个数据库超级用户postgres。
2. 启动PostgreSQL 数据库服务器;

2.1 在流行Linux发行版的启动方法;
在Ubuntu系统中,服务器启动脚本放在 /etc/init.d目录中,您可以用下面的方法来启动,对于Fedora和Gentoo 也是类似的;
xiaop@localhost~# /etc/init.d/postgresql-8.2 start 注:启动;
xiaop@localhost~# /etc/init.d/postgresql-8.2 restart 注:重启;
xiaop@localhost~# /etc/init.d/postgresql-8.2 stop 注:停止;
xiaop@localhost~# /etc/init.d/postgresql-8.2 status 注:查看状态;
在Slackware中,PostgreSQL的启动脚本放在 /etc/rc.d目录中,如果您用从linuxpackages.net 上下载的软件包或在线安装的软件包;
xiaop@localhost~# /etc/rc.d/rc.postgres start
如果您用源码包编译安装,启动PostgreSQL,请查看PostgreSQL官方文档;
2.2 关于 PostgreSQL启动和存储目录;
启动PostgreSQL服务器时,一般是以postgres 用户来启动的,自编译安装的除外;对于数据库的存储一般是放在/var/lib中的相关目录,比如 /var/lib/pgsql或 /var/lib/postgresql/8.2/main/ 目录等;不同的发行版可能不太一样,不过还是大同小异,您可以通过修改数据存储位置把数据库存在其它地方;
3.创建用户

添加用户命令格式。
createuser 是 SQL 命令 CREATE USER的封装。
命令:createuser [-a] [-A] [-d] [-D] [-e] [-P] [-h 主机名] [-p port] 用户名
参数说明:
[-a]:允许创建其他用户,相当于创建一个超级用户;
[-A]:不允许此用户创建其他用户;
[-d]:允许此用户创建数据库;
[-D]:不允许此用户创建数据库;
[-e]:将执行过程显示到Shell上;
[-P]:创建用户时,同时设置密码
[-h 主机名]:为某个主机上的Postgres创建用户;
[-p port]:与-h参数一同使用,指定主机的端口。
3.1添加用户;

3.1.1不带参数的创建用户;
xiaop@localhost~$ createuser testuser
Shall the new user be allowed to create databases? (y/n) n --------是否可以创建数据库:否
Shall the new user be allowed to create more new users? (y/n) n ---------是否可以创建新用户:否
CREATE USER
注:不带参数创建用户时,Postgres会询问此用户的权限,上面的例子创建了一个普通用户;
3.1.2 为指定的主机和端口上创建用户 ;
xiaop@localhost~$ createuser -h 172.28.18.51 -p 5000 -D -A -e testuser
CREATE USER joe NOCREATEDB NOCREATEUSER;
CREATE USER

注:这个命令为主机172.28.18.51的5000端口创建用户testuser, 此用户不可以创建数据库和其他用户。
3.1.3创建超级用户;
xiaop@localhost~$ createuser -P -d -a -e testuser
Enter password for new user: testuser
Enter it again: testuser
CREATE USER joe PASSWORD 'testuser' CREATEDB CREATEUSER;
CREATE USER
注:这个命令在本地创建一个超级用户(-a),可以创建数据库(-d), 同时要求设置密码。
3.2 删除用户:
命令:dropuser [-i] [-h] [-p] [-e] 用户名 参数说明:
[ -i]:删除用户前,要求确认;
[-h 主机名]:删除某个主机上的Postgres用户;
[-p port]:与-h参数一同使用,指定主机的端口;
[-e]:将执行过程显示到Shell上。
3.2.1 删除本地的Postgres用户;
xiaop@localhost~$ dropuser testuser
DROP USER

3.2.2 删除远程Postgres服务器上的用户;
xiaop@localhost~$ dropuser -p 5000 -h 172.28.18.51 -i -e testuser
User "testuser" and any owned databases will be permanently deleted.
Are you sure? (y/n) y
DROP USER "testuser"
DROP USER

注:此命令删除主机172.28.18.51(-h)的5000端口(-p)的用户testuser,并且需要确认(-i);
4. 创建和删除数据库;

4.1创建数据库
看看您能否访问数据库服务器的第一个例子就是试着创建一个数据库;
要创建一个新的数据库,在我们这个例子里叫 mydb,您可以使用下面的命令:
xiaop@localhost~$ createdb mydb
它应该生成下面这样的响应:
CREATE DATABASE
如果这样,那么这一步就成功了,如果您看到类似下面这样的信息
createdb: command not found
那么就是PostgreSQL没有安装好,要么是就根本没装上;
您还可以用其它名字创建数据库。 PostgreSQL 允许您在一个节点上创建任意数量的数据库。 数据库名必须是以字母开头并且小于 63 个字符长。 一个方便的做法是创建和您当前用户名同名的数据库。 许多工具假设该数据库名为缺省数据库名,所以这样可以节省您的敲键。要创建这样的数据库,只需要键入 :
xiaop@localhost~$ createdb

⑤ ubuntu postgresql 编译安装好还是apt安装

apt命令安装更好,主要是方便而且不容易出问题,apt命令安装的也是稳定的版本,而且它会自动解决软件依赖性的问题,会自动把依赖的哪些软件安装上。而用编译安装往往会报出一大堆的提示信息(如果有软件依赖它也会报错),挺麻烦的。

⑥ 在linux中编译PostgreSQL程序出现/usr/lib/ld cannot found -lpq

apt-get install 吧
或者yum
用repo里的稳

为啥第二天重新compile?
是configure出问题还是make还是make install呢?

如果你用的debian系列系统,用apt-get命令安装postgresql,如果是red hat系列(比如rhel, centos等),请用yum命令安装。如果不行,aptitude purge删除干净。

你别用redhat 9了,那个太老了,内核和现在已经差好远了,打个比方,你在用Windows NT 4跑SQL Server 2008。哈哈,用Ubuntu 9.10 Server吧。
PgAdmin可以在 找到。看得出来你不怎么会用Linux吧。

⑦ 如何在CentOS 7/6.5/6.4 下安装PostgreSQL 9.3 与 phpPgAdmin

PostgreSQL强源象关系类型数据库系统能运行于几乎所主要操作系统包括Linux、Unix(AIX、BSD、HP-UX、SGI
IRIX、Mac OS、Solaris、Tru64)、Windows OS篇教程我习何CentOS7/6.5/6.4 server
建立PostgreSQL
1.安装PostgreSQL
首先根据服务器架构添加PostgreSQL库:
CentOS 6.x 32bit:
rpm -Uvh 1.noarch.rpm
CentOS 6.x 64bit:
rpm -Uvh
CentOS 7 64bit:
rpm -Uvh
于其发行版查看链接并建立库:

使用命令更新库:
yum update
使用命令安装PostgreSQL:
yum install postgresql93-server postgresql93-contrib
使用命令初始化PostgreSQL数据库:
CentOS 6.x 系统:
service postgresql-9.3 initdb
CentOS 7系统:
/usr/pgsql-9.3/bin/postgresql93-setup initdb
启PostgreSQL服务并使机自启:
CentOS 6.x 系统:
service postgresql-9.3 start
chkconfig postgresql-9.3 on
CentOS 7系统:
systemctl enable postgresql-9.3
systemctl start postgresql-9.3
2.调整Iptables/Firewall
接调整防火墙站规则:
CentOS 6.x系统:
vi /etc/sysconfig/iptables
并添加行
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
退并保存文件重启iptables服务:
service iptables restart
CentOS系统:
firewall-cmd --permanent –add-port=5432/tcp
firewall-cmd --permanent –add-port=80/tcp
firewall-cmd --reload
3.访问PostgreSQL用命令提示符
默认情况数据库名用户名都postgres切换至用户执行相关操作:
su – postgres
输入命令登陆:
psql
例输:
psql (9.3.5)
Type "help" for help.
Postgres=#
通输入\q退postgresql返命令终端:
4.设置用户密码
登陆至postgres命令提示符界面
su – postgres
psql
使用命令设置密码
postgres=# \password postgres
Enter new password:
Enter it again:
postgres=# \q
输入命令建立PostgreSQL系统管理工具
postgres=# CREATE EXTENSION adminpack;
CREATE EXTENSION
5.创建用户数据库
例:用户名:senthil 密码:centos 数据库名:mydb
转postgres用户
su – postgres
创建用户senthil
$ createuser senthil
创建数据库
$ createdb mydb
现登陆至psql提示符界面用户senthil设置密码及授权数据库mydb访问:
$ psql
psql (9.3.5)
Type "help" for help.
postgres=# alter user senthil with encrypted password 'centos';
ALTER ROLE
postgres=# grant all privileges on database mydb to senthil;
GRANT
postgres=#
6.删除用户数据库
首先转postgres界面
su – postgres
输入命令
$ dropdb <database-name>
删除用户名输入
$ dropuser <user-name>
7.配置PostgreSQL-MD5认证
MD5认证需要客户端提供MD5-encrypted 密码便身份验证需要编辑 /var/lib/pgsql/9.3/data/pg_hba.conf文件:
vi /var/lib/pgsql/9.3/data/pg_hba.conf
添加或修改行:
[...]
# TYPE DATABASE USER ADDRESS METHOD

# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 192.168.1.0/24 md5
# IPv6 local connections:
host all all ::1/128 md5
[...]
重启postgresql服务应用更改
CentOS 6.x系统
service postgresql-9.3 restart
CentOS 7系统
systemctl restart postgresql-9.3
8.配置PostgreSQL-Configure TCP/IP
默认情况TCP/IP连接行所其计算机用户能连接postgresql编辑文件 /var/lib/pgsql/9.3/data/postgresql.conf允许连接:
vi /var/lib/pgsql/9.3/data/postgresql.conf
找面行:
[...]
#listen_addresses = 'localhost’
[...]
#port = 5432
[...]
两行都取消并设置postgresql服务器IP址或设置*监听所客户端所示:
listen_addresses = '*'
port = 5432
重启应用更改
CentOS6.x系统:
/etc/init.d/postgresql-9.3 restart
CentOS7系统:
systemctl restart postgresql-9.3
9.使用phpPgAdmin管理PostgreSQL
phpPgAdmin使用PHP编写基于web管理工具用于管理PostgreSQL适用与PostgreSQL RPM库
没添加PostgreSQL库添加EPEL库
根据面链接CentOS 6.x建立EPEL库

CentOS 7参考面链接

使用命令更新库
yum update
现输入命令安装phpPgAdmin:
yum install phpPgAdmin httpd
注意phpPgAdmin区写要准确使用面所示写
默认使用访问phpPgAdmin若要远程访问需要继续:
编辑文件/etc/httpd/conf.d/phpPgAdmin.conf
vi /etc/httpd/conf.d/phpPgAdmin.conf
修改加粗部:
[...]
Alias /phpPgAdmin /usr/share/phpPgAdmin

<Location /phpPgAdmin>
<IfMole mod_authz_core.c>
# Apache 2.4
Require all granted
#Require host example.com
</IfMole>
<IfMole !mod_authz_core.c>
# Apache 2.2
Order deny,allow
Allow from all
# Allow from .example.com
</IfMole>
</Location>

启或重启Apache服务
CentOS 6.x系统
service httpd start
chkconfig httpd on

CentOS 7系统
systemctl enable httpd
systemctl start httpd
现打浏览器并转终于看面界面

使用前创建用户登录我用户senthil密码CentOS

能遇:Login failed

SELLinux能限制用户连接PostgreSQL需输入命令更改即:
setsebool -P httpd_can_network_connect_db 1
现应该能登录
采用编译安装 或者集安装看看wo 网名能解决问题

⑧ 为什么linux不能安装最新版本的postgresql呢 (postgresql-9.1.2.tar.gz)

可选择源码编译安装:
一、在root用户下使用源码编译方式安装PostgreSQL
1. 解压
tar jxvf postgresql-9.1.2.tar.bz2

2. 检查依赖软件包
rpm -qa | grep readline
rpm -qa | grep zlib
rpm -qa | grep gcc
rpm -qa | grep make

3. 如果缺少依赖软件包,安装以下软件包
gcc
make
zlib-devel
readline-devel

4. 配置PostgreSQL
cd postgresql-9.1.2
./configure --prefix=/usr/local/pgsql

5. 编译并安装PostgreSQL
make
make install

6. 创建组和用户
groupadd postgres
useradd -g postgres postgres
passwd postgres

7. 创建数据库库文件存储目录、给postgres赋予权限:
mkdir /usr/local/pgsql/data
cd /usr/local/pgsql
chown postgres.postgres data
touch /var/log/pgsql.log
chown postgres.postgres /var/log/pgsql.log

8. 初始化数据库目录(在postgres用户下执行命令)
cd /usr/local/pgsql/
./bin/initdb -E UTF-8 -D /usr/local/pgsql/data --locale=zh_CN.UTF-8

⑨ linux 下怎么看postgresql安装到哪个目录了

进入/opt/pgsql-9.1.7目录可以看到安装后的postgresql的文件。

linux下安装PostgreSQL数据库步骤如下:

0.编译环境

  • Linux: CentOS 5.5

  • gcc: 4.1.2

  • 1. 安装PostgreSQL

    1) 解压postgresql-9.1.7.tar.bz2

    #tar jxvfpostgresql-9.1.7.tar.bz2

    5)设置postgresql服务开机自启动

    #chkconfig --add postgresql

    执行上面的命令,就可以实现postgresql服务的开机自启动。

⑩ 源码编译安装postgresql后怎么卸载

建议你装个腾讯电脑管家。
管家的管理功能挺完善的。而且各项管理能力也都比较出众。
如需卸载,可通过管家软件管理平台完成相关管理:
打开腾讯电脑管家~~~~工具箱~~~~软件卸载~~~~强力删除

同时,垃圾清理还可以清除卸载残留文件及注册表信息:
打开腾讯电脑管家~~~~工具箱~~~~清理垃圾/注册表垃圾

热点内容
网易梦之国服务器ip 发布:2024-05-05 14:06:11 浏览:33
如何设置一个通俗易懂的密码 发布:2024-05-05 13:52:21 浏览:621
新网易我的世界服务器 发布:2024-05-05 13:42:44 浏览:661
算法题写错了 发布:2024-05-05 13:34:57 浏览:804
sql按小时分组 发布:2024-05-05 13:26:25 浏览:94
张艺谋我们一家访问人 发布:2024-05-05 12:38:05 浏览:111
美版安卓系统怎么安装 发布:2024-05-05 12:37:18 浏览:920
qq邮箱缓存地址 发布:2024-05-05 12:37:16 浏览:986
电位算法 发布:2024-05-05 12:36:01 浏览:727
我的世界清风斗罗大陆服务器地址 发布:2024-05-05 12:35:50 浏览:453