尝试在Windows 10上安装PostgreSQL 12
达成目标
实现目标
目标是
尝试在 Windows 10 上安装 Posgtgres12。
文件下载
从PostgreSQL数据库下载页面下载12.3xWindows x86-64版本。
在开始安装之前,先阅读本地化和区域设置方面的文档,确认是否使用–locale=C选项。
*需要注意的是,这是10年前的文章,现在默认情况下在Ubuntu上安装时使用–locale=ja_JP.UTF-8。
*现在的情况怎么样呢?
安装
※基本的安装步骤如下:下载并安装PostgreSQL
※还应该能够找到其他带有截图的安装方法
※安装位置可以根据个人喜好选择
双击postgresql-12.3-1-windows-x64.exe
安装目录:D:\DB\PostgreSQL\12
选择组件:保持原样
数据目录:D:\DB\PostgreSQL\12\data
密码: 随意
端口:5432
区域设置:C
确认预安装摘要
开始安装
安装完成后,将D:\DB\PostgreSQL\12\bin添加到PATH路径中
PS > psql -lU postgres
ユーザ postgres のパスワード:
データベース一覧
名前 | 所有者 | エンコーディング | 照合順序 | Ctype(変換演算子) | アクセス権限
-----------+----------+------------------+----------+-------------------+-----------------------
postgres | postgres | UTF8 | C | C |
template0 | postgres | UTF8 | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
(3 行)
看起来是通过使用”initdb –locale=C –encoding=UTF-8″命令创建的,可以通过检查”psql -l”的结果来确认。
修改设定文件
D:\DB\PostgreSQL\12\data\postgresql.conf はデフォルトのまま
listen_addresses = '*'
D:\DB\PostgreSQL\12\data\pg_hba.conf を以下に修正
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 192.168.5.0/24 md5
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
host replication all 127.0.0.1/32 md5
host replication all ::1/128 md5
请重新启动后进行修正。
创建示例数据库
从PostgreSQL示例数据库中获取
在下载的PostgreSQL DVD租赁示例数据库后解压dvdrental.zip文件。
PS > createdb --locale=C --encoding=UTF-8 --template=template0 -U postgres dvdrental
パスワード:
PS > psql -lU postgres
ユーザ postgres のパスワード:
データベース一覧
名前 | 所有者 | エンコーディング | 照合順序 | Ctype(変換演算子) | アクセス権限
-----------+----------+------------------+----------+-------------------+-----------------------
dvdrental | postgres | UTF8 | C | C |
postgres | postgres | UTF8 | C | C |
template0 | postgres | UTF8 | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
(4 行)
PS > pg_restore -U postgres -d dvdrental dvdrental.tar
パスワード:
PS > psql -U postgres
ユーザ postgres のパスワード:
psql (12.3)
"help"でヘルプを表示します。
postgres=# \c dvdrental
データベース"dvdrental"にユーザ"postgres"として接続しました。
dvdrental=# \d
リレーション一覧
スキーマ | 名前 | 型 | 所有者
----------+----------------------------+------------+----------
public | actor | テーブル | postgres
public | actor_actor_id_seq | シーケンス | postgres
public | actor_info | ビュー | postgres
public | address | テーブル | postgres
public | address_address_id_seq | シーケンス | postgres
public | category | テーブル | postgres
~
dvdrental=# \q
PS >
设置访问环境
PS > psql -U postgres
ユーザ postgres のパスワード:
psql (12.3)
"help"でヘルプを表示します。
postgres=# create role dvdrental with login password 'passwd';
CREATE ROLE
postgres=# \c dvdrental
データベース"dvdrental"にユーザ"postgres"として接続しました。
postgres=# grant all on all tables in schema public to dvdrental;
GRANT
postgres=# grant all on all sequences in schema public to dvdrental;
GRANT
postgres=# grant all on all functions in schema public to dvdrental;
GRANT
安装 psycopg2
or
进行 psycopg2 的安装
PS > pip3 install psycopg2
尝试通过Python3进行访问
# Windows Add env PYTHONIOENCODING = UTF-8 & restart vscode
# coding:utf-8
import psycopg2
server = '192.168.5.xx'
port= '5432'
database = 'dvdrental'
username = 'dvdrental'
password = 'demo'
# 接続文字列 - 空白文字がセパレータなのか??
constr = 'host=' + server + ' port=' + port + ' dbname=' + database + ' user=' + username + ' password=' + password
conn = psycopg2.connect(constr)
cur = conn.cursor()
# 件数を確認する
cur.execute("SELECT COUNT(*) FROM actor")
row = cur.fetchone()
if row:
print(row)
cur.close()
conn.close()
以下是我参考的网站
下载PostgreSQL数据库安装包
语言环境设置(国际化与本地化)
下载并安装PostgreSQL
PostgreSQL示例数据库
在Ubuntu 20.04上安装PostgreSQL后尝试使用C#+ Npgsql进行访问
从Win10 + VsCode + Python3 + psycopg2访问Ubuntu 20.04 + Posgtgres12