0

在执行以下 postgresql 命令时,如何使用 chef inspec 验证 name 列和 row 列下的输出。

postgres=# select name, setting from pg_settings where (name ~ '_directory$'
postgres(# or name ~ '_tablespace');
         name         |        setting
----------------------+------------------------
 data_directory       | /var/lib/pgsql/10/data
 default_tablespace   |
 log_directory        | log
 stats_temp_directory | pg_stat_tmp
 temp_tablespaces     |
(5 rows)
4

1 回答 1

0

您可以使用 2 个 postgres 资源:

  1. postgres_session测试针对 PostgreSQL 数据库运行的 SQL 命令

    sql = postgres_session('username', 'password', 'host', 'port')
    describe sql.query('SELECT * FROM pg_shadow WHERE passwd IS NULL;') do
      its('output') { should eq '' }
    end
    
  2. postgres_conf测试 PostgreSQL 的配置文件的内容

    describe postgres_conf do
      its('max_connections') { should eq '5' }
    end
    
于 2021-01-07T07:35:41.840 回答