.安装PostgreSQL
首先根据服务器架构添加PostgreSQL库:
于其发行版查看链接并建立库:
使用命令更新库:
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库
使用命令更新库
yum update
现输入命令安装phpPgAdmin:
yum install phpPgAdmin httpd
注意phpPgAdmin区写要准确使用面所示写
编辑文件/etc/httpd/conf.d/phpPgAdmin.conf
vi /etc/httpd/conf.d/phpPgAdmin.conf
修改加粗部:
[...]
Alias /phpPgAdmin /usr/share/phpPgAdmin
<Location /phpPgAdmin>
<IfModule mod_authz_core.c>
# Apache 2.4
Require all granted
#Require host example.com
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order deny,allow
Allow from all
# Allow from .example.com
</IfModule>
</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
现应该能登录
我phpPgAdimn:
OK现使用图形化界面phpPgAdmin创建、删除管理数据库
PostgreSQL安装:一、windows下安装过程
安装介质:postgresql-9.1.3-1-windows.exe(46M),安装过程非常简单,过程如下:
1、开始安装:
2、选择程序安装目录:
注:安装 PostgreSQL 的分区最好是 NTFS 格式的。PostgreSQL 首要任务是要保证数据的完整性,而 FAT 和 FAT32 文件系统不能提供这样的可靠性保障,而且 FAT 文件系统缺乏安全性保障,无法保证原始数据在未经授权的情况下被更改。此外,PostgreSQL 所使用的"多分点"功能完成表空间的这一特征在FAT文件系统下无法实现。
然而,在某些系统中,只有一种 FAT 分区,这种情况下,可以正常安装 PostgreSQL,但不要进行数据库的初始化工作。安装完成后,在 FAT 分区上手动执行 initdb.exe 程序即可,但不能保证其安全性和可靠性,并且建立表空间也会失败。
3、选择数据存放目录:
4、输入数据库超级用户和创建的OS用户的密码
注:数据库超级用户是一个非管理员账户,这是为了减少黑客利用在 PostgreSQL 发现的缺陷对系统造成损害,因此需要对数据库超级用户设置密码,如下图所示,安装程序自动建立的服务用户的用户名默认为 postgres。
5、设置服务监听端口,默认为5432
6、选择运行时语言环境
注:选择数据库存储区域的运行时语言环境(字符编码格式)。
在选择语言环境时,若选择"default locale"会导致安装不正确;同时,PostgreSQL 不支持 GBK 和 GB18030 作为字符集,如果选择其它四个中文字符集:中文繁体 香港(Chinese[Traditional], Hong Kong S.A.R.)、中文简体 新加坡(Chinese[Simplified], Singapore)、中文繁体 台湾(Chinese[Traditional], Taiwan)和中文繁体 澳门(Chinese[Traditional], Marco S.A.R.),会导致查询结果和排序效果不正确。建议选择"C",即不使用区域。
----我选择了default localt,安装正确;建议选择default localt。
7、安装过程(2分钟)
8、安装完成
安装完成后,从开始文件夹可以看到:
在安装目录可以看到:
其中:data存放数据文件、日志文件、控制文件、配置文件等。
uninstall-postgresql.exe用于卸载已安装的数据库管理系统。
pg_env.bat里配置了数据库的几个环境变量,内容如下:
二、pgAdmin(大象)
对于每种数据库管理系统,都有相当多的设计与管理工具(可视化界面管理工具),有的是数据库厂商自己提供的(一般都至少有一个),有的是第三方公司开发的,你甚至可以自己写一个简单易用的管理工具。例如Oracle的Oracle SQL Developer(自己开发的)、PLSQL Developer(第三方公司开发的)、SQL Server Management Studio(自己开发的)、http://www.oschina.net/project(开源中国)网站上提供的个人或组织开发的简易小巧的管理工具。
PostgreSQL就有好几款流行的管理工具,例如:pgAdmin、navicat_pgsql、phppgsql等。
pgAdmin是一个针对PostgreSQL数据库的设计和管理接口,可以在大多数 *** 作系统上运行。软件用C++编写,具有很优秀的性能。
pgadmin 是与 Postgres 分开发布的,可以从www.pgadmin.org下载。目前装个全功能的PostgreSQL数据库,自带该管理工具。
打开pgAdmin,可以看到在第一部分安装的本地数据库的属性,如下图所示:
图中可以看出,新安装的PostgreSQL数据库管理系统带有一个数据库postgres;已建好两个表空间:pg_default、pg_global。
initdb.exe初始化的两个默认表空间pg_global、pg_default。数据库默认的表空间pg_default 是用来存储系统目录对象、用户表、用户表index、和临时表、临时表index、内部临时表的默认空间,他是模板数据库template0和template1的默认表空间。initdb.exe初始化的两个默认表空间pg_global、pg_default。数据库默认的表空间pg_global是用来存储共享系统目录的默认空间。
pg_default 为 PostgreSQL也可以理解成系统表空间,它对应的物理位置为 $PGDATA/base目录。
在PostgreSQL(pg_catalog)下可以看到postgers数据库的一些数据字典和数据字典视图。
新建一个服务器连接,连接远程linux服务器上的PostgreSQL数据库(假设已有远程linux上已安装好PostgreSQL数据库管理系统):
得到数据库属性如下图所示:
图中可以看出,该远程数据库管理系统上建有两个数据库:postgres、cpost;四个表空间:pg_default、pg_global、pis_data、pis_index。
三、pgsql
对于每种数据库管理系统,都会提供一个命令行管理接口,例如Oracle的sqlplus,SQL Server的isql和osql等。
凡是用图形管理界面可以实现的功能原则上都可以通过命令行界面命令实现。两者各有优缺点,使用场合不同。在windows下当然常用图形管理界面,因为在图像管理界面中往往都嵌有命令行工具,而在unix和linux下,当然就常用命令行工具了,除了我们在类unix下主要使用字符界面的原因外,还因为大部分情况下我们只能通过telnet或ssh工具远程连接服务器进行 *** 作,此时也只能使用命令行了。
从开始目录打开SQL shell(pgsql),该可执行程序为E:\PostgreSQL\bin\psql.exe。输入密码得到如下图界面:
也可以在修改了系统环境变量Path之后(增加PostgreSQL\bin目录),从命令行直接启动pgsql。
至此,PostgreSQL在Windows下安装完毕。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)