方法一:使用官方仓库安装
1:添加 PostgreSQL 仓库
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
2:安装 PostgreSQL
sudo yum install -y postgresql13-server
3:初始化数据库
sudo /usr/pgsql-13/bin/postgresql-13-setup initdb
4:启动 PostgreSQL 服务
sudo systemctl start postgresql-13
sudo systemctl enable postgresql-13
5:切换到 postgres 用户
sudo -i -u postgres
6:创建密码
psql -c "ALTER USER postgres PASSWORD 'zzq*10086';"
方法二:通过源代码编译安装
sudo yum groupinstall -y "Development Tools"
sudo yum install -y readline-devel zlib-devel openssl-devel bison flex libcurl-devel perl-ExtUtils-Embed readline-devel libxml2-devel libxslt-devel pam-devel python-devel tcl-devel systemd-devel libuuid-devel openldap-devel perl-ExtUtils-Embed perl-ExtUtils-ParseXS perl-ExtUtils-Typemaps libevent-devel libicu-devel jemalloc-devel libxslt-devel libxml2-devel perl-devel perl-ExtUtils-Embed readline readline-devel zlib zlib-devel openssl openssl-devel bison flex libcurl libcurl-devel pam pam-devel python python-devel tcl tcl-devel systemd systemd-devel libuuid uuid-devel openldap openldap-devel perl perl-ExtUtils-Embed perl-ExtUtils-ParseXS perl-ExtUtils-Typemaps libevent libevent-devel libicu libicu-devel jemalloc jemalloc-devel libxslt libxslt-devel libxml2 libxml2-devel perl perl-ExtUtils-Embed readline readline-devel zlib zlib-devel openssl openssl-devel bison flex libcurl libcurl-devel pam pam-devel python python-devel tcl tcl-devel systemd systemd-devel libuuid uuid-devel openldap openldap-devel perl perl-ExtUtils-Embed perl-ExtUtils-ParseXS perl-ExtUtils-Typemaps libevent libevent-devel libicu libicu-devel jemalloc jemalloc-devel libxslt libxslt-devel libxml2 libxml2-devel
wget https://ftp.postgresql.org/pub/source/v13.2/postgresql-13.2.tar.gz
tar -xzvf postgresql-13.2.tar.gz
cd postgresql-13.2
./configure --prefix=/usr/local/pgsql
make
sudo make install
sudo /usr/local/pgsql/bin/initdb -D /var/lib/pgsql/data
5.创建 systemd 服务文件(可选,如果你使用的是 systemd):
centos7 登录 postgreSQL
在 CentOS 7 上安装并登录 PostgreSQL 的步骤大致如下。这里假设你已经有了 CentOS 7 系统的基础知识,包括如何使用命令行界面。
1. 安装 PostgreSQL
首先,你需要安装 PostgreSQL。打开终端,使用以下命令来安装 PostgreSQL:
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo yum install -y postgresql12-server
在这个例子中,我选择了安装 postgresql12-server
。你可以根据需要选择不同版本的 PostgreSQL,例如 postgresql13-server
或其他版本。
2. 初始化数据库
安装完 PostgreSQL 后,你需要初始化数据库:
sudo /usr/pgsql-12/bin/postgresql-12-setup initdb
确保使用正确的 PostgreSQL 版本路径,例如 pgsql-12
。
3. 启动 PostgreSQL 服务
接下来,启动 PostgreSQL 服务:
sudo systemctl start postgresql-12
sudo systemctl enable postgresql-12
同样,确保使用正确的服务名称,例如 postgresql-12
。
4. 登录 PostgreSQL
在 CentOS 7 上,PostgreSQL 的默认用户是 postgres
。使用以下命令以该用户身份登录:
sudo -u postgres psql
这将让你进入 PostgreSQL 的命令行界面。如果你看到类似这样的提示:
psql (12.x)
Type "help" for help.
postgres=#
那么你已经成功登录了。
5. 创建新用户(可选)
如果你想要创建一个新的用户,可以使用以下 SQL 命令:
CREATE ROLE newusername LOGIN PASSWORD 'password';
ALTER ROLE newusername CREATEDB; -- 如果你想让这个用户创建数据库的话
将 newusername
和 password
替换为你希望的用户名和密码。然后退出当前会话并使用新用户登录:
\q -- 退出 psql 命令行界面
psql -U newusername -d database_name -- 使用新用户登录到特定的数据库(如果数据库已存在)或默认数据库(例如 postgres)
6. 配置 PostgreSQL(可选)
你可以通过编辑配置文件 /var/lib/pgsql/12/data/postgresql.conf
和 pg_hba.conf
来调整 PostgreSQL 的配置。这些文件位于数据目录中,通常是 /var/lib/pgsql/12/data/
。修改后,记得重新加载配置:
sudo systemctl reload postgresql-12
以上步骤应该可以帮助你在 CentOS 7 上安装、启动并登录 PostgreSQL。如果你遇到任何问题,确保检查 PostgreSQL 的日志文件,通常位于 /var/lib/pgsql/12/data/
,文件名为 log
或 pg_log
。这可以提供关于错误的更多信息。