centos安装postgresql?netstat -anp 丨grep 端口号

大家好,今天来为大家解答centos安装postgresql这个问题的一些问题点,包括netstat -anp |grep 端口号也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~

如何在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>

<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

现在你应该能正常登录了。

CentOS离线安装postgresql

1、概述

在离线环境中安装 PostgreSQL数据库在服务器管理中是一项常见挑战。本文将通过具体的步骤来介绍如何在 CentOS操作系统上离线安装 PostgreSQL。

2、安装

在开始安装之前,我们首先需要确认 CentOS系统上是否已经安装了 PostgreSQL数据库,可以通过查阅文档或与相关技术人员沟通来确认。如果未安装,则可继续进行以下步骤。

2.1、下载 RPM包

为了进行离线安装,我们需要从 PostgreSQL官方网站下载 RPM包。具体步骤如下:

访问 PostgreSQL官方页面,选择与您 CentOS版本匹配的包集。

选择合适的版本和小版本号,下载包括postgresql11-11.16-1PGDG.rhel7.x86_64、postgresql11-contrib-11.16-1PGDG.rhel7.x86_64、postgresql11-libs-11.16-1PGDG.rhel7.x86_64、postgresql11-server-11.16-1PGDG.rhel7.x86_64在内的所有 rpm包。

2.2、上传并安装 RPM包

将下载的 rpm包上传到 CentOS服务器上。接下来,按照以下步骤安装 rpm包:

依次安装 postgresql11-libs、postgresql11、postgresql11-server。在安装过程中,可能遇到缺少 libicu的问题,可单独安装 libicu解决此问题。

2.3、初始化数据库

使用 initdb命令初始化数据库。确保以 postgres用户身份执行此操作,并使用正确的数据存储目录路径。初始化完毕后,切换到 postgres用户并确保数据存储目录的所有权正确。

2.4、启动/停止数据库

根据初始化提示,启动数据库并确认其状态。通过检查端口验证数据库启动情况。同样,确保数据库能够正常停止并查看其运行状态。

2.5、命令行连接数据库

在安装完成后,可以通过命令行连接数据库。使用 psql命令连接,确保数据库的运行状态正常。

3、远程访问

为了实现远程访问数据库,需要修改配置文件 pg_hba.conf和 postgresql.conf。具体操作如下:

在 pg_hba.conf文件中,修改 IPv4 local connections部分以允许远程访问。

在 postgresql.conf文件中,将 listen_address设置为'*',并取消注释以允许来自任何 IP地址的连接。

4、端口与最大连接数设置

在 postgresql.conf文件中调整端口和最大连接数,确保数据库能够高效响应请求。

5、重启以使配置生效

完成配置修改后,重启数据库以应用新的设置。

6、设置密码

为 PostgreSQL数据库的 postgres用户设置密码,确保数据库安全。此外,可以调整 pg_hba.conf文件中的认证方式,实现本机命令行连接数据库时也需要密码。

通过以上步骤,您可以在 CentOS系统上成功离线安装并配置 PostgreSQL数据库。本文提供的指导有助于您实现数据库的部署和管理。如有其他问题或需求,请随时查阅官方文档或寻求专业帮助。

Centos7下安装PostgreSQL14及其基本命令使用

MySQL作为关系型数据库,在互联网公司中被广泛使用。然而,PostgreSQL在国内的普及似乎并不如MySQL。在国外,像Skype这样的网络电话公司大量使用PostgreSQL。

作为互联网从业者,持续学习是必不可少的。因此,我开始学习PostgreSQL作为技术储备。

在Centos下,通常使用YUM来安装PostgreSQL的二进制版本。在PostgreSQL官网选择相应的版本和操作系统后,会自动生成YUM安装脚本。

对应的页面地址为:postgresql.org/download...

选择对应的PostgreSQL版本、操作系统和架构,然后生成YUM安装命令。

但是,有一个问题需要注意。在PostgreSQL初始化数据库后,默认的数据目录是在/var/lib/pgsql,但这个目录位于根分区下。通常建议将其放置在独立的数据目录下。

因此,进行如下操作:

最后,验证安装是否成功。

1、从\l列出的数据库清单中,可以看到有三个数据库。

2、关于PostgreSQL中的用户和角色:

在PostgreSQL中,使用角色来管理权限。可以将一系列权限分配给角色,当然也可以将权限分配给用户。因此,从这个角度理解,PostgreSQL中的用户和角色是相同的,用户也是角色。从上面的\du或\dg的结果中可以得知。

PostgreSQL中的所有命令都是以\开头的。

1、数据库操作:列举数据库\l、连接数据库\c dbname

2、表操作:此外...

3、特殊命令:

3.1、\timing on/off:显示和关闭SQL已执行的时间

3.2、\encoding utf8/gbk:设置客户端的字符编码

3.3、\pset border 0/1/2:设置输出的格式

3.4、\x:类似MySQL的命令后添加\G

3.5、\i filename:执行存储在外部文件中的sql文件或命令,参数是文件名,不带后缀

当然,想要查看更多命令及其用法,可以使用\?

如果有在学习PostgreSQL的朋友,可以一起交流学习。

阅读剩余
THE END