在龙芯电脑上安装PostgreSQL数据库服务器[Archlinux]
一 PostgreSQL简介
开源数据库服务器两大产品,一是PostgreSQL,一是MySQL,两者各由所长,但是一般认为PostgreSQL更为庞大复杂,更能适应大型关键性数据库项目。PostgreSQL的安装使用也就更为复杂一些。
二 PostgreSQL的安装:
安装很简单:#pacman -S postgresql
今天安装的是15.1版本,比上游最新的15.2略慢。
第一次使用的时候先要进行数据库的初始化:
# su - postgres
[postgres]$ initdb -D /var/lib/postgres/data
postgres是PostgreSQL数据库的超级用户,要谨慎使用。
启动和开机自启动:
#systemctl start postgresql
#systemctl enable postgresql
基本操作:
#su - postgres
修改超级用户的密码:
psql -c "alter user postgres with password 'password'"
以下操作均在psql下进行:
显示所有书库: postgres=# \l
显示所有用户: postgres=# \du
创建新用户及密码:
postgres=# CREATE USER user1 WITH ENCRYPTED PASSWORD 'password';
创建新的数据库: postgres=#CREATE DATABSE testdb;
将数据库所有权授予用户:
postgres=#GRANT ALL PRIVILEGES ON DATABASE mydb to user1;
退出PSQL: postgres=#\q
至于创建、增删数据表、增删记录、修改数据表和记录等等操作,都和常规SQL语法一样,就不再重复。
三 phppgadmin的安装使用
就像phpmyadmin可以方便地通过网络方式操作MySQL数据库,phppgadmin也可以通过网络方式方便地操作PostgreSQL数据库。
使用Pacman安装的phppgadmin还是7.13版本,这个版本需要在php-7.4下使用,但我们其他的PHP程序一般都使用8.0以上版本。所以我们使用AUR中的phppgadmin-7.14.3,这个版本可以在PHP-8.2下使用,不过安装麻烦一点:
前提是apache、PHP已经安装好,参阅前面的LAMP文章。
#pacman -S php-pgsql
#git clone https://aur.archlinux.org/phppgadmin.git
#cd phppgadmin
#makepkg -si
修改PHP配置文件/etc/php/php.ini,将下面这行的注释符去掉:
extension=pgsql
然后重启apache,现在安装好了PHP的postgresql数据库驱动程序。
把以下语句加入到apache配置文件中/etc/httpd/conf/httpd.conf;
Alias /phppgadmin "/usr/share/webapps/phppgadmin"
<Directory "/usr/share/webapps/phppgadmin">
DirectoryIndex index.php
AllowOverride All
Options FollowSymlinks
Require all granted
</Directory>
然后在客户端使用浏览器打开http://your_IP/phppgadmin就可以了。