我正在尝试使用以下命令运行 Symfony 3.x:
我想与我创建的 PGSQL 数据库进行交互,但出现此错误:
PHP警告:PHP启动:无法加载动态库'/usr/lib/php/20151012/php_pdo_pgsql.dll' - /usr/lib/php/20151012/php_pdo_pgsql.dll:无法打开共享对象文件:没有这样的文件或目录在未知的第 0 行
[Doctrine\DBAL\Exception\DriverException] 驱动程序发生异常:找不到驱动程序
[Doctrine\DBAL\Driver\PDOException] 找不到驱动程序[PDOException] 找不到驱动程序
所以我查看了我的phpinfo(),似乎启用了 pgsql 驱动程序
谁能帮我解决这个问题?
我创建了一个过程,如:
CREATE OR REPLACE FUNCTION insert_user_ax_register(
user_name character varying(50),
password character varying(300),
role_id character varying(10),
created_dt date,
status boolean,
email character varying(50),
join_date character varying(30),
phone_no bigint,
client_address character varying(200),
full_name character varying(100),
financial_year character varying(10))
RETURNS void
AS $BODY$
declare
begin
INSERT INTO ax_register(user_name,password,role_id,created_dt,status,email,join_date,phone_no,client_address,full_name,financial_year)
VALUES (user_name,password,role_id,now(),true,email,join_date,phone_no,client_address,full_name,financial_year);
end
$BODY$
LANGUAGE plpgsql VOLATILE
Run Code Online (Sandbox Code Playgroud)
并试图像这样执行它:
SELECT * from insert_user_ax_register('debasrita','debasrita','client001',now(),'t','abc@gmail.com',now(),'ctc','debasrita','2014-15',9090909090);
Run Code Online (Sandbox Code Playgroud)
但它会引发以下错误:
错误:函数insert_user_ax_register(未知,未知,未知,带时区的时间戳,未知,未知,带时区的时间戳,未知,未知,未知,bigint)不存在SQL状态:42883提示:没有函数匹配给定的名称和参数类型.您可能需要添加显式类型转换.性格:16
请帮我解决这个问题.我是pgsql的新手,无法从谷歌找到任何解决方案.我在用pgsql 9.1.3
我可以知道实现目标的正确方法是什么?
我已经使用 PGAdmin4 安装了 MAMP 和 PostgreSQL,但是我遇到了一些问题。
我在终端中收到 psql“找不到命令错误”。我已添加export PATH=/Library/PostgreSQL/10/bin:$PATH到~/.bash_profile,但是每当我重新打开终端时,都会再次出现相同的错误。
每当我尝试执行composer或php artisan在我的 Laravel 项目中执行时,我都会收到以下错误,但我仍然能够迁移数据库:
Warning: PHP Startup: Unable to load dynamic library 'pdo_pgsql' (tried: /usr/local/lib/php/pecl/20180731/pdo_pgsql (dlopen(/usr/local/lib/php/pecl/20180731/pdo_pgsql, 9): image not found)
Warning: PHP Startup: Unable to load dynamic library 'pgsql' (tried: /usr/local/lib/php/pecl/20180731/pgsql (dlopen(/usr/local/lib/php/pecl/20180731/pgsql, 9): image not found)
每当尝试浏览项目和PDO Drivers列表中的phpinfo()mysql 和 sqlite 可用,但 pgsql 不可用时,都会出现“未找到驱动程序”错误。
MAMP
PostgreSQL 10
PHP:7.3.21
操作系统:MAC Big Sur
我可以在哪里传递客户端证书以连接到 PostgreSQL 数据库?我是否必须在PDO 构造函数中的dsn或参数中传递这些证书?options我无法在网上找到任何文档。
我在 Ubuntu 16.04.1 上使用 PHP 7.0.22。我为 pgsql 驱动程序启用了 SSL 支持。我确实在 PDO 类中找到了这些常量:PDO::MYSQL_ATTR_SSL_CA以及PDO::MYSQL_ATTR_SSL_KEY其他一些常量,但这些显然是针对 mySQL 而不是 PGSQL。
这是基于以下答案的有效安全实现:
$dbh = new PDO('pgsql:localhost=host;port=26257;dbname=bank;sslmode=require;sslcert=[path]/client.maxroach.crt;sslkey=[path]/client.maxroach.key;sslrootcert=[path]/ca.crt;',
'maxroach', null, array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_EMULATE_PREPARES => true,
));
Run Code Online (Sandbox Code Playgroud) 我正在研究 PostgreSQL 9.1.4 。
我将数据插入到两个表中,效果很好。
我希望对我的表应用事务,两个表都存在于同一数据库中。如果我的第二个表在任何时候失败,我的第一个表应该回滚。
我尝试将“max_prepared_transactions”中的属性设置为非零值/etc/postgres/postgres.conf。但事务回滚仍然不起作用。
我将我的操作系统从Ubuntu 14.04更新到16.04版本,并安装了php 7,但我想使用php 5.6.所以我安装了php 5.6并告诉Apache使用该版本而不是php 7.
但我在安装php5-pgsql时遇到问题.
我试过这个教程,但是我收到了错误
"El paquete php5-pgsql noestádisponible,perosagúnotropaquete hace referenciaaél.Estopuede significar que el paquete falta,estáobsoletoosóloseencuentra disponible desde alguna otra fuente"
我能做什么?
我正在尝试安装 php7.0-pgsql,但总是得到
E: 无法定位软件包 phpXXX-pgsql
我在尝试
apt-get update
apt-get install php7.0-pgsql=7.0.12-1+deb
Run Code Online (Sandbox Code Playgroud)
或者
apt-get install php7.0-pgsql=7.0.12-1
Run Code Online (Sandbox Code Playgroud)
或者
apt-get install php7.0-pgsql
Run Code Online (Sandbox Code Playgroud)
甚至
apt-get install php-pgsql
Run Code Online (Sandbox Code Playgroud)
总是有相同的结果。任何人都可以帮助我吗?
嗨,我在尝试启动phpPgAdmin时遇到此错误.
您的PHP安装不支持PostgreSQL.您需要使用--with-pgsql configure选项重新编译PHP.
我使用xampp ver 1.7.7,Postgresql 9.2.4 64位和phpPgAdmin 5.1
我已经做了以下事情:
1. open "config.inc.php" found in C:\xampp\phpPgAdmin\conf\ and set "extra_login_security" to false
$conf['extra_login_security'] = false;
2. Find php.ini file, in C: \ xampp \ php \ php.ini,
then look for the line " ; extension = php_pgsql.dll "remove tag ';' it so that the
result was" extension = php_pgsql.dll "
Run Code Online (Sandbox Code Playgroud)
(虽然我发现php.ini-生产和开发所以我取消了它们两者)
3. open c:\xampp\apache\conf\extra\httpd-xampp.conf and in section <IfModule mime_module> add
Alias /phppgadmin "c:/xampp/phpPgAdmin/"
<Directory "c:/xampp/phpPgAdmin">
AllowOverride AuthConfig
Order allow,deny
Allow from …Run Code Online (Sandbox Code Playgroud)