在Conoha VPS上启动PostgreSQL 14并尝试在本地进行连接

总结

以下是将postgreSQL14安装并在VPS上启动,以及连接到本地的步骤的总结。

环境

    • centOS7.9

 

    • postgreSQL14

 

    Windows11

步骤 (bù

※ 这次是在CentOS 7.9上进行的设置。

1. 下载存储库

sudo yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

※ 出现“无事可做”这一情况时,没有特别必要。

2. 安装

sudo yum -y install postgresql14 postgresql14-server

3. CentOS启动时的自动启动设置

sudo systemctl enable postgresql-14

4. 数据库的初始化

sudo /usr/pgsql-14/bin/postgresql-14-setup initdb

由于需要进行初始化才能使用,因此是必要的。

5. 防火墙设置

firewall-cmd --add-port=5432/tcp --zone=public --permanent
firewall-cmd --reload

※ PostgreSQL 默认端口是5432,因此需要在5432端口上开放一个洞。

6. 启动PostgreSQL

sudo systemctl start postgresql-14

7. 启动确认

sudo systemctl status postgresql-14.service

※ 主动:如果处于活动(运行)状态,它能够正常启动。

从外部网络访问PostgreSQL

1. 更改config文件

sudo vi /var/lib/pgsql/14/data/postgresql.conf

当你执行以上命令打开config文件后,进行以下修改。

# 変更前
#listen_addresses = 'localhost'

# 変更後
#listen_addresses = 'localhost'
listen_addresses = '*'

当你不知道postgresql.conf文件在哪里时,可以输入find / -name postgresql.conf 2> /dev/null来确认。

2. 允许设置外部IP地址的权限设置

sudo vi /var/lib/pgsql/14/data/pg_hba.conf

当你打开pg_hba.config文件时,请插入以下内容。

# TYPE  DATABASE        USER            ADDRESS                 METHOD
# IPv4 local connections:
host    all             all             0.0.0.0/0               md5

※ 为了安全起见,请使用时注意,因为当前设置存在较高的安全风险。建议限制访问的IP地址范围。还可以修改以仅允许特定用户或数据库访问。←这些更改可以稍后进行。
以下内容也需要修改。

修正前
# "local" is for Unix domain socket connections only
local   all             all                                     peer

修正後
# "local" is for Unix domain socket connections only
local   all             all                                     trust

如果不将对等认证更改为信任,那么在除了superUser之外的用户登录时,会出现“psql: error: connection to server on socket “/var/run/postgresql/.s.PGSQL.5432″的错误。

3. 更改允许连接的端口号

sudo vi /var/lib/pgsql/14/data/postgresql.conf

当你输入上述命令并打开了config文件时,请按以下方式进行修正。

# 変更前
#port = 5432

# 変更後  (port 5433 に変更されます)
port = 5433

因为我在5432这里没有问题,所以我没有做这个。

重新启动PostgreSQL,并应用配置更改。

sudo systemctl stop postgresql-14.service
sudo systemctl start postgresql-14.service

以sudo systemctl restart postgresql-14.service命令似乎无法重新启动。

用户设定

1. 连接到Postgres数据库

sudo -u postgres -i
-bash-4.2$ psql -U postgres

2. 创建用户
(Note: This is the translation of “creating a user” in Chinese)

postgres=# CREATE USER {ユーザーネーム} WITH PASSWORD '{パスワード}' CREATEDB;
CREATE ROLE

3. 确认角色

postgres=# \du

如果能够确认刚刚创建的用户,就没有问题。

4. 创建数据库

postgres=# CREATE DATABASE {新規DB名} WITH OWNER {先ほど作成したユーザー名};
CREATE DATABASE

由于与数据库相关联,因此必须创建才能登录。

尝试连接到位于VPS上的本地PostgreSQL。

※ 本次将进行Windows环境的设置。

1. 下载PostgreSQL

请从https://www.enterprisedb.com/downloads/postgres-postgresql-downloads下载

2. 將環境變數中的路徑增加

请将指向包含exe文件的bin文件夹的路径添加到用户环境变量的PATH中。

C:\Program Files\PostgreSQL\14\bin

3. 请确认在命令提示符中是否可以输入命令。

psql --help

只要不出现认为无法识别的错误,例如「psql 是 PostgreSQL 的交互式终端。」,即可。

4. 外部连接

psql -h {VPSのIPアドレス}  -U {ユーザー設定で作成したユーザー名} -d {ユーザー設定で作成したDB名}

只要提到数据库名称,就完成了。

testDB=>
    戻りたいときは\q

请参考

    • https://self-development.info/postgresql%E3%81%AE%E5%88%9D%E6%9C%9F%E8%A8%AD%E5%AE%9A%EF%BC%88%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E4%BD%9C%E6%88%90%E3%81%A8%E5%A4%96%E9%83%A8%E6%8E%A5%E7%B6%9A%E8%A8%B1%E5%8F%AF%EF%BC%89/

 

    • https://zenn.dev/hdmt/articles/8b242a8c78f7f1

 

    https://postgresweb.com/post-6273
广告
将在 10 秒后关闭
bannerAds