postgresql-pgadmin4-in-win7


创建data和log文件夹,用于存放数据和日志文件

初始化数据库: 
init_db.bat: 
E:/Programs/postgresql-15.8-1/bin/pg_ctl -D E:/Programs/postgresql-15.8-1/data initdb 

执行后: 
属于此数据库系统的文件宿主为用户 "Administrator".
此用户也必须为服务器进程的宿主.
数据库簇将使用本地化语言 "Chinese (Simplified)_People's Republic of China.936"进行初始化.
本地化隐含的编码 "GBK" 不允许作为服务器端的编码.
默认的数据库编码将采用 "UTF8" 作为代替.
initdb: could not find suitable text search configuration for locale "Chinese (Simplified)_People's Republic of China.936"
缺省的文本搜索配置将会被设置到"simple"

禁止为数据页生成校验和.

修复已存在目录 E:/Programs/postgresql-15.8-1/data 的权限 ... 成功
正在创建子目录 ... 成功
选择动态共享内存实现 ......windows
选择默认最大联接数 (max_connections) ... 100
选择默认共享缓冲区大小 (shared_buffers) ... 128MB
selecting default time zone ... Asia/Hong_Kong
创建配置文件 ... 成功
正在运行自举脚本 ...成功
正在执行自举后初始化 ...成功
同步数据到磁盘...成功

initdb: 警告: 为本地连接启用"trust"身份验证
你可以通过编辑 pg_hba.conf 更改或你下次
执行 initdb 时使用 -A或者--auth-local和--auth-host选项.

成功。您现在可以用下面的命令开启数据库服务器:




启动数据库:
start_psql.bat: 
E:/Programs/postgresql-15.8-1/bin/pg_ctl -D E:/Programs/postgresql-15.8-1/data -l E:/Programs/postgresql-15.8-1/log/run.log start

停止数据库:
stop_psql.bat: 
E:/Programs/postgresql-15.8-1/bin/pg_ctl -D E:/Programs/postgresql-15.8-1/data -l E:/Programs/postgresql-15.8-1/log/run.log stop


issue: 
执行psql时报错了:
psql: 错误: 无法连接到服务器:FATAL:  database "Administrator" does not exist
参考这个


我采用的是使用template1临时库来登录,然后创建新的超级用户root:
E:\pgsql\bin>psql template1
psql (12.3)
输入 "help" 来获取帮助信息.

template1=# create user root superuser;
CREATE ROLE
template1=# create database root;
CREATE DATABASE
template1=# \l

     数据库列表
   名称    |    拥有者     | 字元编码 |                      校对规则
            |                        Ctype                        |
存取权限
-----------+---------------+----------+-----------------------------------------
------------+-----------------------------------------------------+-------------
--------------------
 postgres  | Administrator | UTF8     | Chinese (Simplified)_People's Republic of China.936 | Chinese (Simplified)_People's Republic of China.936 |
 root      | Administrator | UTF8     | Chinese (Simplified)_People's Republic of China.936 | Chinese (Simplified)_People's Republic of China.936 |
 template0 | Administrator | UTF8     | Chinese (Simplified)_People's Republic of China.936 | Chinese (Simplified)_People's Republic of China.936 | =c/Administrator               +
           |               |          |
            |                                                     | Administrator=CTc/Administrator
 template1 | Administrator | UTF8     | Chinese (Simplified)_People's Republic of China.936 | Chinese (Simplified)_People's Republic of China.936 | =c/Administrator               +
           |               |          |
            |                                                     | Administrator=CTc/Administrator
(4 行记录)

-- More  --

template1=# alter user root with password 'your_password';
ALTER ROLE

以后就用root来登录,psql -h localhost -U root -W
登录成功后,即可操作:
root=# \c root
用户 root 的口令:
您现在已经连接到数据库 "root",用户 "root".
root=# \c postgres
用户 root 的口令:
您现在已经连接到数据库 "postgres",用户 "root".
postgres=#




1、列举数据库:\l

2、选择数据库:\c 数据库名

3、查看该某个库中的所有表:\dt

4、切换数据库:\c interface

5、查看某个库中的某个表结构:\d 表名

6、查看某个库中某个表的记录:select * from apps limit 1;

7、显示字符集:\encoding  

8、退出psgl:\q



查看每个库的大小: 
select pg_database.datname as dbname, 
pg_database_size(pg_database.datname) AS size1,
pg_size_pretty(pg_database_size(pg_database.datname)) as size2 
from pg_database;
执行结果: 
  dbname   |  size1  |  size2
-----------+---------+---------
 postgres  | 8102767 | 7913 kB
 root      | 8102767 | 7913 kB
 template1 | 8102767 | 7913 kB
 template0 | 7954947 | 7769 kB
(4 行记录)


查看每个表的大小: 
select relname, pg_size_pretty(pg_relation_size(relid)) from pg_stat_user_tables where schemaname='public' order by pg_relation_size(relid) desc;


pgadmin4使用:
运行pgadmin4后,默认左侧的Servers是空白的,需要在右侧点击"Add New Servers",
在弹出窗口的“Connection”中填入Host、Port、Maintenace Database、Username、Password等信息,点完成之后,pgadmin4左侧的Servers就出现了相应的数据库信息